home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-12-11 | 276.4 KB | 6,853 lines | [TEXT/R*ch] |
- Gestalt Selectors List 3.2
- ==========================
-
- Maintained by Rene G.A. Ros (rgaros@bio.vu.nl)
-
- First published: 12 October 1992, 13:15 CET (GMT+1)
- Last version: 1 October 1995, 12:40 CET (GMT+1)
- Previous update: 29 November 1995, 19:40 CET (GMT+1)
- Last modified : 11 December 1995, 08:05 CET (GMT+1)
-
- This document lists all selectors for use with the Gestalt Manager known to
- the editor. These can include selector codes installed by Apple (system)
- software or by software from third parties (your software?).
- The information in this list is useful for programmers and other people who
- can use the Gestalt Manager with their software (i.e. Apple Guide) perhaps
- even using externals (i.e. HyperCard, 4th Dimension etc.).
- To use this list, you should be familiar with the Gestalt Manager as
- described in Inside Macintosh: Operating System Utilities.
-
- This file can be best viewed with a mono-spaced font like Monaco. Because
- it is wrapped as setext you can use several utilities to index and read it.
- For the Macintosh you can use Easy View and on a UNIX system sv (setext
- viewer) works fine. Both are available by FTP from sumex-aim.stanford.edu
- (or its mirrors!), archived respectively as:
- ftp://sumex-aim.stanford.edu/info-mac/text/easy-view-261.hqx
- ftp://sumex-aim.stanford.edu/info-mac/text/easy-view-262-updt.hqx
- ftp://sumex-aim.stanford.edu/info-mac/text/setext-viewer-05-unix.uu
-
- A single question mark indicates an uncertainty regarding the information
- in front of the question mark. Three question marks indicate complete
- absence of the information.
- See the chapters at the end for more information about this list.
-
- Contents
- --------
- Gestalt Selectors List
- Contents
- Contributions
- Changes Overview
- Wish List
- Apple System Software (A-E)
- Apple System Software (F-J)
- Apple System Software (K-N)
- Apple System Software (O-S)
- Apple System Software (T-Z)
- Apple Additional Software
- Third Parties Software
- Unknown Codes
- Apple Software
- Third Parties Software
- Gestalt Manager Calls
- Gestalt Manager Routines
- Gestalt Value Routines
- Undocumented Gestalt Manager Routines
- Kilo-liners
- Direct Gestalt Calls
- Direct GestaltValue Calls
- GestaltSelectorZero
- GestaltBitTest
- Call Gestalt Function Direct
- Reports
- Accessing the Gestalt Manager
- AppleShare File & Print Server selector codes
- AppleTalk
- Clock Chipped
- Copland
- Copy protection using Gestalt
- Disabling PowerKey
- Environs & SysEnvirons
- Executor Mac-emulator
- Gestalt Apple Event
- Gestalt Applications
- GestaltValue
- GestaltValue & CodeWarrior Problem
- Glue code
- INITGestalt standard
- Machine Names
- Macintosh Application Environment
- Macintosh Clones
- Modern Memory Manager
- PPC Libraries
- QuickTime
- RAM Doubler
- Relabled Macintosh Models
- General Info
- System Managers
- Gestalt Problems
- History
- Abbreviations
- Sources
- Definitions and Formats
- Use in Language
- Definitions
- Format Selector Entry
- Format Version Numbers
- About this list
- Availability
- Gestalt Submission Form
- Acknowledgements
- Legal Stuff
- Editor's Address
-
- Contributions
- -------------
- This section lists the people who contributed information which is now
- included with this version of the list.
-
- ===========================================================================
- Contributions to the selector sections
- ===========================================================================
- Person Software Selector(s) added/changed
- ---------------------------------------------------------------------------
- Anonymous 'Fig' AutoDoubler cp DDAD, DDAE, DDNF
- DDExpand appl ADR2, ADRC
- Anonymous Open Transport ??? otvr
- System (enablers) drag, mach (Info TN Gestalt)
- System Update enbl sysu
- Jeff Baudin System (enablers) mach
- Jean-Pierre Curcio Launcher cp bast
- QuickDraw 3D q3v
- Sound Manager ext snhw
- System (enablers) hdwr, mach, shal
- System Tune-Up bugz
- System Update etc. bugx
- WorldScript Power Adapter ext?
- scrf
- Laurent Humbert System (enablers) thds
- Fabrizio Oddone QuickDraw 3D q3vc, q3v
- Marco Piovanelli Finder Enabler fndx
- Jon Pugh General cp gpad
- Eric-Paul Rebel System (enablers) mach
- Thomas Reed PixelPlay SAVC, SAVR
- Rene Ros 7.0/7.1 Apple Guide Enabler ext
- ag_e
- 7.5.2 Printing Fix bugx
- AppleShare ext afps
- CommuniGate Notifier ext
- cGnF
- CopyDoubler cp DDCD
- CyberFinder cp URL!, URLf
- Eagle ext EgGP
- IdleTime INIT idle
- IRTalk ext irhk, puir
- Macintosh Drag and Drop ext
- drag
- MIDI Manager ext bugx
- PageUp/Down ext jGnE
- PowerPort cp? gVDI
- RAMGauge cp FCDV
- SerialDMA ext shal
- Speed Access ext MV20
- Super Saver cp MFK7
- System (enablers) mach, micn, nreg, rsrc, snd
- System? cmic, fstn, puir
- TeamNotify ext NTFY
- unknown MV20, XAsm
- Maurice Volaski System (enablers) mach
- Terence Worley Microsoft Office Manager cp
- MOMM
- ---------------------------------------------------------------------------
-
- ===========================================================================
- Contributions to the non-selector sections
- ===========================================================================
- Person Chapter/Section
- ---------------------------------------------------------------------------
- Jeff Baudin Reports/Clock Chipped
- Jean-Pierre Curcio Reports/Macintosh Clones
- Kenneth Knotts Reports/Macintosh Clones
- Eric-Paul Rebel Reports/Machine Names
- Rene Ros Reports/Gestalt Applications
- Reports/Relabled Macintosh Models
- Maurice Volaski Reports/Relabled Macintosh Models
- ---------------------------------------------------------------------------
-
- Some previously distributed versions listed the Compuserve email address of
- the editor incorrect. The correct address is 100112.1363@compuserve.com
-
- All definitions in entries are now in C.
-
- Includes new info from the September 1995 revision of the Gestalt and
- SysEnvirons Technical Note (draft).
-
- Eric-Paul Rebel 'read' the PowerBook 5300/190 Enabler for us and found two
- different machine type values for the PowerBook 5300!
-
- Changes Overview
- ----------------
- Added selectors
- Apple System : -
- Apple Add. : q3v
- Third Parties : idle
- Added unknown
- Apple Softw. : cmic, fstn, otvr
- Third Parties : cGnF, EgGP, FCDV, gVDI, MFK7, MV20, NTFY, URL!,
- XAsm
- Changed selectors
- Apple System : afps, drag, hdwr, mach, micn, nreg, rsrc, shal,
- snd , snhw, thds
- Apple Add. : q3vc
- Third Parties : SAVC, SAVR
- Changed unknown
- Apple Softw. : bast, bugx, bugy, bugz, fndx, gpad, irhk, puir,
- scrf, shal
- Third Parties : ADR2, ADRC, DDAD, DDAE, DDCD, DDNF, jGnE, URLf
- Previously unknown
- Apple System : -
- Apple Add. : -
- Third Parties : MOMM
- Includes updates 3.1.1 up to and including 3.1.6, sent to subscribers of
- the mailing list.
-
- Wish list
- ---------
- The table below lists the topics on which more information is needed
- regarding the Gestalt selectors which provide information about these
- topics.
-
- ===========================================================================
- WANTED
- ===========================================================================
- Information wanted about:
- ---------------------------------------------------------------------------
- PowerPCx Platform formerly CHRP
- DR Emulator short for dynamic recompiling emulator, on new Power
- Macs, nothing?)
- FireWire
- Gestalt Manager its future
- multi-processing 'kbd ' already obsolete, 'proc' also? :-)
- PCI selector like 'slot' for NuBus? Anything?
- Pippin
- QuickTime VR nothing? now as library, later as extension?
- RAID compatible drivers installed?
- SD-ROM Super CD-ROM (10x capacity CD-ROM) driver software?
- Sound Manager 3.1 PPC native bit in gestaltSoundAttr response? none?
-
- machine IDs for the latest or upcoming Macs
-
- and more info for the General Info/System Managers section
- ---------------------------------------------------------------------------
-
- Apple System Software (A-E)
- ===========================
- This chapter lists selector codes of which the meaning is known and the
- first character of the selector code is in the A-E range.
-
- a/ux (A/UX [2.0?])
- (System [6.0.4])
- gestaltAUXVersion
- Returns the version of A/UX, if it is executing, as BCD?
-
- #define gestaltAUXVersion 'a/ux' /* A/UX version, if present */
-
- NOTES:
- If Gestalt doesn't know the answer, test bit 9 of the HWCFgFlag
- system global (0x0B22; word). If set, assume you have A/UX 1.0.
-
- This selector also indicates if you're running under MAE on an
- UNIX machine. &AD08
-
- This selector may be installed but returns gestaltUnknownErr instead
- of zero when A/UX is not installed. (Rene Ros)
-
- addr (System [6.0.4])
- gestaltAddressingModeAttr
- Returns information about the current addressing mode.
-
- enum {
- #define gestaltAddressingModeAttr 'addr' /* addressing mode attr. */
- gestalt32BitAddressing = 0, /* started up with 32-bit addr. */
- gestalt32BitSysZone = 1, /* system heap has 32-bit clean */
- /* block headers */
- gestalt32BitCapable = 2}; /* machine is 32-bit capable */
-
- afps (AppleShare ext [3.5?], part of System 7.5) &AD18
- gestaltAppleShareClient?
- Returns the version of the AppleShare client software as Integer in
- the high-word of the response? The low-word of the response returns
- information on the AppleShare client software? (Rene Ros)
-
- enum {
- #define gestaltAppleShareClient? 'afps'
- gestaltAppleShareVersionMask? = 0xFFFF0000, /* Version is in upper */
- /* 2 bytes of result */
- gestaltAppleShare???Mask? = 0x0001}; /* If set ??? */
- gestaltAppleShare???Mask? = 0x0002}; /* If set ??? */
-
- NOTE:
- No details were given in the source: "...information about the
- characteristics of the workstation and the current version..."
- Seen bits 0 and 16 set. (Rene Ros)
-
- ag_v (Apple Guide ext [1.2.7])
- gestaltAppleGuideVersion?
- Returns the version number of Apple Guide as BCD.
-
- #define gestaltAppleGuideVersion? 'ag_v'
-
- alis (System [7.0])
- (Remote Access Aliases ext [1.0?], part of Apple Remote Access)
- gestaltAliasMgrAttr
- Returns information about the Alias Manager.
-
- enum {
- #define gestaltAliasMgrAttr 'alis' /* Alias Mgr attributes */
- gestaltAliasMgrPresent = 0,
- gestaltAliasMgrSupportsRemoteAppletalk = 1, /* supports Remote */
- /* Appletalk &AD02 */
- gestaltAliasMgr??? = 2}; /* since System 7.1 Pro*/
-
- NOTE: See 'Reports' chapter (QuickTime section) for more information.
-
- ascr (AppleScript ext [1.0])
- gestaltAppleScriptAttr &AS08
- Returns information about AppleScript.
-
- enum {
- #define gestaltAppleScriptAttr 'ascr' /* AppleScript attributes */
- gestaltAppleScriptPresent = 0,
- gestaltAppleScriptPowerPCSupport = 1};
-
- ascv (AppleScript ext [1.0])
- gestaltAppleScriptVersion &AS08
- Returns the version of AppleScript as NumVersion.
-
- #define gestaltAppleScriptVersion 'ascv' /* AppleScript version */
-
- NOTE:
- AppleScript 1.1 returns 0x01100110 which doesn't look like a proper
- version number (version 1.0 returned 0x01008000). (Rene Ros)
-
- aslm (Shared Library Manager ext [1.1.1?])
- (System? [7.5?])
- gestaltASLM68K &AS17
- Returns the version of the Shared Library Manager as BCD in the upper
- 2 bytes and attribute bits in the lower 2 bits. NULL is returned when
- ASLM did not load properly at boot time and is not available.
-
- enum {
- #define gestaltASLM68K 'aslm' /* ASLM selector for 68K Macs */
- #define gestaltASLMPPC 'slmp' /* ASLM selector for PPC Macs */
- #define gestaltASLM 'aslm' /* or 'slmp', see below */
- gestaltASLMVersionMask = 0xFFFF0000, /* Version is in upper 2 bytes */
- /* of result */
- gestaltASLMPresentMask = 0x0001, /* If set ASLM is or was */
- /* loaded. */
- gestaltASLMLoadedMask = 0x0002}; /* If set ASLM is currently */
- /* loaded. */
-
- #if GENERATINGPOWERPC
- define gestaltASLM gestaltASLMPPC
- #else
- define gestaltASLM gestaltASLM68K
- #endif
-
- NOTES:
- Earlier (beta?) versions of the ASLM PowerPC used 'ASLM' as the
- selector instead of 'slmp'.
-
- Early releases of Shared Library Manager installed an INIT into the
- system file which registered this selector with an invalid function
- pointer in the case that the Shared Library Manager extension did not
- exist. Calling Gestalt with this selector would then cause a bus error.
- (Paul Cunningham, Teknosys, Inc.)
-
- Shared Library Manager 2.0 (beta) on a Power Macintosh 6100/60
- installs both 'aslm' and 'slmp' selectors. (Rene Ros)
-
- ASLM (Shared Library Manager ext [1.1.1?])
- (System? [7.5?])
- gestaltASLMPPC (old!) &AS17
-
- NOTE:
- See the gestaltASLM68K ('aslm') entry for more information.
-
- atkv (System [7.0, AppleTalk 56])
- gestaltATalkVersion &AT02
- Returns AppleTalk version as NumVersion. If selector is not present
- then AppleTalk is not present (not loaded at startup). &AD18
-
- This is different from 'atlk' !
-
- #define gestaltATalkVersion 'atkv' /* AppleTalk version &AD01/M01 */
-
- WARNING:
- This selector returns the majorRev field of the NumVersion record as
- hexadecimal instead of the usual BCD.
-
- NOTE: See 'Reports' chapter (AppleTalk section) for more information.
-
- atlk (System [6.0.4])
- gestaltAppleTalkVersion
- Returns the version of the .MPP driver as INTEGER. And returns zero
- when AppleTalk is off. &AD18
-
- #define gestaltAppleTalkVersion 'atlk' /* AppleTalk version */
-
- aucd (Audio CD Access ext [4.0], part of Apple CD-ROM Software) &AT03
- gestaltAudioCDAccessVersion?
- Returns Audio CD Access version as BCD.
-
- #define gestaltAudioCDAccessVersion? 'aucd' /* Audio CD Access */
- /* version */
-
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
-
- BSDa (CloseView cp [???], by Berkeley Systems, Inc.)
- gestaltCloseViewAttr
- Returns information about the CloseView Control Panel.
-
- enum {
- #define gestaltCloseViewAttr 'BSDa' /* CloseView attributes */
- gestaltCloseViewEnabled = 0,
- gestaltCloseViewDisplayMgrFriendly = 1}; /* Closeview compatible */
- /* with Display Manager */
- /* (System 7.5.2?) &AS05 */
-
- cash (System [???]) &S03
- gestaltRAMCacheSize
- Returns byte-size of physical RAM allocated to Disk Cache.
- 0 = Disk Cache Off
-
- #define gestaltRAMCacheSize 'cash' /* RAM cache size */
-
- NOTE:
- This selector is listed in THINK Reference 1.0 but it is unknown which
- System Software version should install it.
-
- cfrg (System [7.1.2? on PowerMac])
- (CFM68K ext [1.0a1], part of OpenDoc)
- gestaltCFMAttr
- Returns information about the Code Fragment Manager.
-
- enum {
- #define gestaltCFMAttr 'cfrg' /* Code Fragment Mgr attributes */
- gestaltCFMPresent = 0}; /* Code Fragment Manager is present */
-
- cmta (ColorSync ext [1.0.4?]
- gestaltColorMatchingAttr &AD09
- Returns information about the ColorSync Utilities?
-
- enum {
- #define gestaltColorMatchingAttr 'cmta' /* Color Matching Attr. */
- gestaltHighLevelMatching = 0, /* BeginMatching & */
- /* DrawMatchedPicture present */
- gestaltColorMatchingLibLoaded = 1}; /* Native PowerPC shared */
- /* library is loaded. a.k.a. */
- /* gestaltSharedLibLoaded? */
-
- cmtc (ColorSync ext [1.0?])
- gestaltColorMatchingVersion
- Returns the version of the Color Matching software as BCD.
-
- enum {
- #define gestaltColorMatchingVersion 'cmtc' /* Color Matching */
- /* version */
- gestaltColorSync10 = 0x0100, /* &AD09 */
- gestaltColorSync11 = 0x0110, /* &AD09 */
- gestaltColorSync104 = 0x0104, /* &AD09 */
- gestaltColorSync105 = 0x0105, /* &AD09 */
- gestaltColorSync20 = 0x0200}; /* &AD17/AD21 */
-
- NOTE:
- ColorSync 1.0 returns gestaltColorSync10 for the version of the
- utilities that work with System 6.0.7. And gestaltColorSync11 is
- returned by the version that works with System 7.0 and later.
- From version 1.0.4 up the correct version is returned. &AD17
-
- conn (System [7.0])
- gestaltConnMgrAttr
- Returns information about the Connection Manager.
-
- enum {
- #define gestaltConnMgrAttr 'conn' /* Conn. Mgr attributes */
- gestaltConnMgrPresent = 0, /* Connection Mgr is present */
- gestaltConnMgrCMSearchFix = 1, /* fix for CMAddSearch present */
- gestaltConnMgrErrorString = 2, /* has CMGetErrorString &AS02 */
- gestaltConnMgrMultiAsyncIO = 3}; /* CMNewsIOPB,CMDisposeIOPB, */
- /* CMPBRead,CMPBWrite,CMPBIOKill */
- /* &AS02 */
-
- NOTE:
- Not installed by Communications Toolbox for System 6.
-
- cpkr (Color Picker ext [2.0?])
- gestaltColorPicker
- gestaltColorPickerVersion
- Returns Color Picker version as BCD.
-
- /* ColorPicker Mgr version */
- #define gestaltColorPicker 'cpkr'
- #define gestaltColorPickerVersion 'cpkr'
-
- NOTE:
- Version 2.0a4 returns as response 0x0001, but version 2.0a5 and
- later (including 2.0f) return 0x0100. (Rene Ros)
-
- cpnt (System [7.1])
- (Color Picker Extension ext [2.0])
- (Color Sync ext [1.0.4?])
- (Macintosh Easy Open cp [1.0?])
- (QuickTime ext [1.0])
- (Speech Manager ext [1.1.1, not 1.2?])
- gestaltComponentMgr
- Returns Component Manager version as INTEGER.
-
- #define gestaltComponentMgr 'cpnt' /* Component Mgr version &AS01 */
-
- cput (System [7.1.2?]) &AS04/AS05
- gestaltNativeCPUtype
- Returns a value that indicates the type of native processor that is
- currently running.
-
- enum {
- #define gestaltNativeCPUtype 'cput' /* Native CPU type */
- /* Motorola Architecture */
- gestaltCPU68000 = 1,
- gestaltCPU68010 = 2,
- gestaltCPU68020 = 3,
- gestaltCPU68030 = 4,
- gestaltCPU68040 = 5,
- /* PowerPC Architecture */
- gestaltCPU601 = 0x101,
- gestaltCPU603 = 0x103,
- gestaltCPU604 = 0x104, /* same for 604e ? */
- gestaltCPU603e? = 0x106, /* for 603e ? seen on PowerBook 5300 */
-
- /* PowerPC Architecture (Unreleased & Rumoured) */
- gestaltCPU603ev?= ???,
- gestaltCPU604e? = ???,
- gestaltCPU613? = ???,
- gestaltCPU614? = ???,
- gestaltCPU615? = ???,
- gestaltCPU620? = ???,
- gestaltCPU630? = ???};
-
- NOTE:
- To check whether the native system architecture is a MC680x0 or a
- PowerPC use the gestaltSysArchitecture ('sysa') selector. See for
- more information on the 68K processors the gestaltProcessorType
- ('proc') selector.
-
- The GestaltEqu.h file published with E.T.O. #12 was replaced by the
- one on E.T.O. #13. However there was made a mistake, it lists the 68K
- values in the range 0-4 while it should be 1-5 as listed above.
- This problem is acknowledged by Apple.
- You can fix this problem by using the declarations listed above or by
- using the GestaltEqu.h file from E.T.O. #13 but then test first the
- gestaltSysArchitecture ('sysa') selector and when it reports a 68K
- machine use gestaltProcessorType.
- However, System 7.5 and later were apperantly created using the
- incorrect header file and return the incorrect values.
- Example: 'cput' returns 3 and 'proc' returns 4.
- (Anonymous, Dave Radcliffe, Roland Mansson, Rene Ros)
-
- crm (System [7.0])
- gestaltCRMAttr
- Returns information about the Communications Resource Manager.
-
- enum {
- #define gestaltCRMAttr 'crm ' /* Comm. Resource Mgr attributes */
- gestaltCRMPresent = 0, /* Comm. Resource Mgr present */
- gestaltCRMPersistentFix = 1, /* fix for persistent tools &AS02 */
- gestaltCRMToolRsrcCalls = 2}; /* has CRMGetToolResource/ */
- /* ReleaseToolResource &AS02 */
-
- NOTE:
- Not installed by Communications Toolbox for System 6.
-
- csvr (Control Strip cp [1.0])
- gestaltControlStripVersion
- Returns the version of Control Strip software that is installed as
- NumVersion.
-
- #define gestaltControlStripVersion 'csvr'
-
- WARNING:
- Control Strip 1.0 used to install the 'sdvr' selector (which is used
- by PowerTalk) instead of this selector to return the version. This is
- corrected when the gestaltControlStripAttr ('sdev') selector has bit
- gestaltControlStripVersionFixed set (Control Strip 1.1 and later).
- &AS11/AT08 (Rene Ros)
-
- ctbm (System [???])
- gestaltCTBManagersAttr &S02
- Returns information about the Communications Toolbox Managers, it is a
- bitmask of which managers are present.
-
- #define gestaltCTBManagersAttr 'ctbm' /* Comm. Mgrs attributes */
-
- NOTE:
- Never installed by any known system version. Never planned for any
- previous or future system version. (Alex Rosenberg)
-
- ctbu (System [7.0])
- gestaltCTBUtilsAttr &S02
- Returns information about the Communications Toolbox Utilities.
-
- enum {
- #define gestaltCTBUtilsAttr 'ctbu' /* Comm. TB Utils attr. */
- gestaltCTBUtilsPresent = 0};
-
- NOTE:
- Not installed by Communications Toolbox for System 6.
-
- ctbv (System [7.0])
- gestaltCTBVersion
- Returns the version number of the Communications Toolbox.
-
- #define gestaltCTBVersion 'ctbv' /* Comm. Toolbox version */
-
- NOTE:
- Not installed by Communications Toolbox for System 6.
-
- With the Power Macintosh the Communication Toolbox returned a Gestalt
- value indicating version 1.1 while the ROM actually had version 1.0.
- This is fixed by the PowerPC Enabler 1.0.1. and the PowerPC Upgrade
- Card Enabler 1.0.1. because they install CTB 1.1. &AT06
- As of System 7.1, the version of the CTB should track the System
- version. The PowerMac ROMs handled this incorrectly and System 7.5
- rectifies this by reporting 7.5.0. (Alex Rosenberg)
-
- danm (System [Copland?])
- gestaltDesktopAnimationMgr &AD21
- Returns information about the Desktop Animation Manager (DAM).
-
- enum {
- #define gestaltDesktopAnimationMgr 'danm'
- gestaltDesktopAnimationMgrPresent = 0}; /* if set, DAM is present */
-
- WARNING:
- From the Preliminary Copland Headers. May change in the future.
-
- dbac (System [7.0])
- gestaltDBAccessMgrAttr
- Returns information about the Data Access Manager.
-
- enum {
- #define gestaltDBAccessMgrAttr 'dbac' /* Data Access Mgr attributes */
- gestaltDBAccessMgrPresent = 0}; /* TRUE if Data Access Mgr present */
-
- dfnd (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSDPFindVersion
- Returns the SDP Find version as INTEGER. Returns zero if not present
- and available.
-
- #define gestaltSDPFindVersion 'dfnd' /* SDP Find version */
-
- dict (System [7.1])
- gestaltDictionaryMgrAttr
- Returns information about the Dictionary Manager.
-
- enum {
- #define gestaltDictionaryMgrAttr 'dict' /* Dictionary Mgr attributes */
- gestaltDictionaryMgrPresent = 0};
-
- ditl (System [7.0])
- gestaltDITLExtAttr
- Returns information about the Dialog Manager.
-
- enum {
- gestaltDITLExtAttr 'ditl' /* Dialog Mgr attributes */
- gestaltDITLExtPresent = 0}; /* Dialog Mgr extensions present */
-
- dplv (Display Enabler [1.0?])
- (System [7.1.1])
- gestaltDisplayMgrVers &AS05
- Returns Display Manager version as INTEGER?.
-
- #define gestaltDisplayMgrVers 'dplv' /* Display Mgr version */
-
- dply (Display Enabler [1.0?])
- (System [7.1.1])
- gestaltDisplayMgrAttr &AS05
- Returns information about the Display Manager.
-
- enum {
- #define gestaltDisplayMgrAttr 'dply' /* Display Mgr attr. */
- gestaltDisplayMgrPresent = 0, /* True if Display Mgr is */
- /* present */
- gestalt??? = 1, /* seen with System 7.5.2 */
- gestaltDisplayMgrCanSwitchMirrored = 2, /* True if Display Mgr can */
- /* switch modes on mirrored*/
- /* displays &AD21 */
- gestaltDisplayMgrSetDepthNotifies = 3}; /* True, SetDepth generates*/
- /* Display Mgr */
- /* notification &AD21 */
-
- drag (Macintosh Drag and Drop ext [1.0])
- (System? [7.5?])
- gestaltDragMgrAttr &AD05
- Returns information about the Drag Manager.
-
- enum {
- #define gestaltDragMgrAttr 'drag' /* Drag Manager attributes */
- gestaltDragMgrPresent = 0, /* Drag Manager is present */
- gestaltDragMgrFloatingWind = 1, /* &AS09 */
- gestaltPPCDragLibPresent = 2, /* &AS09 */
- gestaltTranslucentDrags? = 3, /* SetDragImage function present */
- /* to drag semi-transparant */
- /* images instead of outlines? */
- /* (Anonymous) */
- gestaltDragMgr??? = 31}; /* set with System 7.5 */
-
- dsig (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltDigitalSignatureVersion
- Returns version of the Digital Signature toolbox as BCD.
-
- #define gestaltDigitalSignatureVersion 'dsig' /* Digitial Signature */
- /* version */
-
- eajt (Easy Access cp [7.0])
- gestaltEasyAccessJTable
- Returns the base address of the Easy Access jump-trap table.
-
- #define gestaltEasyAccessJTable 'eajt' /* Easy Access jump-trap */
- /* table &M01 */
-
- easy (Easy Access cp [6.0.4?])
- gestaltEasyAccessAttr
- Returns information about the status of Easy Access.
-
- enum {
- gestaltEasyAccessAttr 'easy' /* Easy Access attributes */
- gestaltEasyAccessOff = 0, /* Easy Access present but off */
- gestaltEasyAccessOn = 1, /* Easy Access on */
- gestaltEasyAccessSticky = 2, /* Easy Access "Sticky" */
- gestaltEasyAccessLocked = 3}; /* Easy Access "Locked" */
-
- NOTE:
- The values listed above are not returned with System 7 and later.
- Because of a bug different values are returned. This problem is
- acknowledged by Apple, but it is unclear when it will be fixed. They
- know about it since September 1992... (Rene Ros)
-
- edtn (System [7.0])
- (Macintosh Easy Open cp [1.0?])
- gestaltEditionMgrAttr
- Returns information about the Edition Manager.
-
- enum{
- #define gestaltEditionMgrAttr 'edtn' /* Edition Mgr attributes */
- gestaltEditionMgrPresent = 0,
- gestaltEditionMgrTranslationAware = 1}; /* &AD03 */
-
- evnt (System [7.0]) &AS05
- (Apple Event Manager ext [1.0.1], part of AppleScript Setup)
- gestaltAppleEventsAttr
- Returns information about Apple Events.
-
- enum {
- #define gestaltAppleEventsAttr 'evnt' /* Apple events attributes */
- gestaltAppleEventsPresent = 0, /* True if Apple Events present */
- /* &AS05 */
- gestaltScriptingSupport = 1,
- gestaltOSLInSystem = 2}; /* OSL is in system so don`t use */
- /* the one linked */
-
- NOTE:
- These declarations in the AEObjects.h file (on ETO 14) should be
- ignored:
- gestaltObjectSupportLibraryInSystem = 1
- gestaltObjectSupportLibraryPowerPCSupport = 2
-
- Apple System Software (F-J)
- ===========================
- This chapter lists selector codes of which the meaning is known and the
- first character of the selector code is in the F-J range.
-
- flag (Network Extension ext [System 7.0 &AT02])
- gestaltFlagshipAttr
- Returns information about the Flagship Naming Services.
-
- enum {
- #define gestaltFlagshipAttr 'flag' /* &M01 */
- gestaltFlagshipPresent = 0, /* &M01 */
- gestaltFlagshipRegistered = 1}; /* &M01 */
-
- fnd (AppleShare? ext [3.6?]) &AD18
- gestaltFinderVolumeGrade?
- Returns a volume grade value. If the volume grade of a (remote) volume
- the Finder (version 7.5.1 and later) is copying to is less than the
- returned value, a buffer is used for which the size is returned by the
- 'fnd^' (666E 64A4) selector.
-
- #define gestaltFinderVolumeGrade? 'fnd '
-
- NOTE:
- See also the 'fnd^' (666E 64A4) selector entry.
-
- AppleShare 3.6 (part of System 7.5 Update 2.0) seems to install two
- other selectors instead. The 'fnd ' selector seems to be replaced by
- (OSType) 0x666E 64A0 (last byte: option-t). (Anonymous)
-
- fnd^ (AppleShare? ext [3.6?]) &AD18
- gestaltFinderBufferSize? (666E 64A4)
- Returns the size of the buffer used to copy files to a (remote) volume
- with a volume grade value less then the value returned by the 'fnd '
- selector.
-
- #define gestaltFinderBufferSize? 'fnd^'
-
- NOTES:
- The ^ is actually the option-6 character (0xA4).
-
- See also the 'fnd ' selector entry.
-
- AppleShare 3.6 (part of System 7.5 Update 2.0) seems to install two
- other selectors instead. The 'fnd ' selector seems to be replaced by
- (OSType) 0x666E 64A7 (last byte: option-s). (Anonymous)
-
- fndr (Finder [7.1.1]) &AS04
- (Finder Scripting Extension ext [1.2?])
- (Finder Clipping Extension ext [7.1.4?])
- gestaltFinderAttr
- Returns information about the Finder.
-
- enum {
- #define gestaltFinderAttr 'fndr'
- gestaltFinderDropEvent = 0,
- gestaltFinderMagicPlacement = 1,
- gestaltFinderCallsAEProcess = 2,
- gestaltOSLCompliantFinder = 3, /* supports Finder Event Suite */
- gestaltFinderSupports4GBVolumes = 4, /* implemented by System 7.5.1 */
- /* but bit not set? */
- gestaltFinderHandlesCFMFailures = 5,
- gestaltFinderHasClippings = 6}; /* &AD12 */
-
- fold (System [7.0])
- gestaltFindFolderAttr
- Returns information about the FindFolder function.
-
- enum {
- gestaltFindFolderAttr 'fold' /* FindFolder attributes */
- gestaltFindFolderPresent = 0}; /* FindFolder function available */
-
- font (System [7.0])
- (TrueType INIT ext for System 6)
- gestaltFontMgrAttr
- Returns information about the Font Manager.
-
- enum {
- #define gestaltFontMgrAttr 'font' /* Font Mgr attributes */
- gestaltOutlineFonts = 0, /* TrueType present */
- gestaltFontMgr??? = 1, /* set with System 7.1 & 7.5 */
- gestaltDiskCachedFonts? = 2}; /* Disk Cached Fonts available? */
-
- NOTE:
- Inside the Inline Extension 1.0 with KanjiTalk7, which was compiled
- with full subroutine names, there is a subroutine called
- 'DiskChachedFontsAvailable' in an INIT resource which checks bit 2
- of the gestaltFontMgrAttr selector response. (Marco Piovanelli)
-
- fpu (System [6.0.4])
- gestaltFPUType
- Returns a value that indicates the FPU-type, if any.
-
- enum {
- gestaltFPUType 'fpu ' /* FPU Type */
- gestaltNoFPU = 0, /* no FPU */
- gestalt68881 = 1, /* 68881 FPU */
- gestalt68882 = 2, /* 68882 FPU */
- gestalt68040FPU = 3}; /* built-in 68040 FPU &S01 */
-
- NOTE: See also the 'FPUE' entry in the Third Parties chapter.
-
- fs (720K Floppy Disk Formatter ext [1.0a3?],
- part of the Hardware System Update [2.0])
- (Apple Share ext [AS 3.0/SYS 7.0])
- (File System Manager ext [1.2])
- (System [7.0])
- gestaltFSAttr
- Returns information about the file system.
-
- enum {
- #define gestaltFSAttr 'fs ' /* file-system attributes */
- gestaltFullExtFSDispatching = 0, /* exports HFSDispatch traps */
- gestaltHasFSSpecCalls = 1, /* supports FSSpec records */
- gestaltHasFileSystemManager = 2, /* has the File System Manager */
- /* &S01 */
- gestaltFSMDoesDynamicLoad = 3, /* FSM supports dynamic loads */
- /* &AD12 */
- gestaltFSSupports4GBVols = 4, /* FS supports 4 gigabyte volumes */
- /* &AD14 */
- gestaltFSSupports2TBVols = 5, /* FS supports 2 terabyte volumes */
- /* and PBXGetVInfo available */
- /* &AD14 */
- gestaltHasExtendedDiskInit = 6}; /* has extended Disk */
- /* Initialization calls &AD12 */
-
- NOTES:
- See also the gestaltFSMVersion ('fsm ') selector.
-
- See 'Reports' chapter (QuickTime section) for more information.
-
- fsm (File System Manager ext [1.2])
- gestaltFSMVersion &AD14
- Returns File System Manager version as BCD.
-
- #define gestaltFSMVersion 'fsm '
-
- NOTE:
- See also the gestaltFSAttr ('fs ') selector.
-
- While both FSM 1.2 and System 7.5 install/patch three traps
- (_FileSysMgr, _HFSUtils and _Pack2 (Extended Disk Initialization
- Package)) it happens that System 7.5 does not install the
- gestaltFSMVersion ('fsm ') selector. It does set the FSM related bits
- of the gestaltFSAttr ('fs ') selector. (Fabrizio Oddone)
- This selector is correctly installed by System 7.5.1. (Rene Ros)
-
- fxfr (System [7.0])
- gestaltFXfrMgrAttr
- Returns information about the File Transfer Manager.
-
- enum {
- #define gestaltFXfrMgrAttr 'fxfr' /* File Transfer Mgr attributes */
- gestaltFXfrMgrPresent = 0, /* File Transfer Mgr present */
- gestaltFXfrMgrMultiFile = 1, /* supports FTSend and FTReceive */
- /* &AS02 */
- gestaltFXfrMgrErrorString = 2, /* supports FTGetErrorString */
- /* &AS02/S02 */
- gestaltFXfrMgr??? = 3?}; /* new, see future technote */
- /* set with System 7.5 */
-
- gval (GestaltValue glue code)
- gestaltValueTable?
- Returns a pointer to a table with the selectors and values managed
- by the GestaltValue code. (Marco Piovanelli)
-
- #define gestaltValueTable? 'gval'
-
- WARNING:
- Although this information isn't officially confirmed, it is probably
- correct.
-
- NOTES:
- Although System 7.5 implements the GestaltValue functions it does not
- install this selector because the GestaltValue table is combined with
- the normal Gestalt table (See the 'tabl' entry). Only with system
- software before 7.5 this selector is installed by the glue code.
- (Rene Ros)
-
- See 'Reports' chapter (GestaltValue section) for more information.
-
- hdwr (System [6.0.4]) INF
- gestaltHardwareAttr
- Returns information about the hardware configuration of the machine.
-
- enum {
- #define gestaltHardwareAttr 'hdwr' /* hardware attributes */
- gestaltHasVIA1 = 0, /* VIA 1 */
- gestaltHasVIA2 = 1, /* VIA 2 */
- gestaltHasRBV = 2, /* RBV &M01 */
- gestaltHasASC = 3, /* ASC (or compatible with) */
- gestaltHasSCC = 4, /* SCC &M01 */
- gestaltHasOSS = 5, /* OSS &M01 */
- gestaltHasSCSIDMA = 6, /* 53C80 SCSI DMA &M01 */
- gestaltHasSCSI = 7, /* 53C80 SCSI */
- gestaltHasSWIMIOP = 8, /* SWIM IOP &M01 */
- gestaltHasSCCIOP = 9, /* SCC IOP &M01 */
- gestaltHasFitch = 10, /* Fitch memory Controller &M02 */
- gestaltHasIWM = 11, /* IWM &M01 */
- gestaltHasPWM = 12, /* PWM disk speed buffer &M02 */
- gestaltHasRAMSndBuff = 13, /* RAM-based sound buffer &M02 */
- gestaltHasVideoDAConv = 14, /* Video D/A Converter &M02 */
- gestaltHasPGC = 15, /* PGC (parity control) &M02 */
- gestaltHasRPU? = 16, /* Random Parity Unit */
- gestaltHasOMC? = 17, /* Orwell Memory Controller */
- gestaltHasVISARBV? = 18, /* VISA Ram Based Video */
- gestaltHasSoftPowerOff = 19, /* Software PowerOff */
- /* (since System 7.0?) &S01 */
- gestaltHasSonic = 20, /* Sonic (built-in ethernet) &M01 */
- gestaltHasSCSI961 = 21, /* Int. 53C96 SCSI &AT01 */
- gestaltHasSCSI962 = 22, /* Ext. 53C96 SCSI &AT01 */
- gestaltHasDAFBVideo = 23, /* DAFB Video &M01 */
- gestaltHasUniversalROM = 24, /* Universal ROM &AT04 */
- gestaltHasJMC = 25, /* Jaws Memory Controller? */
- gestaltNeedsRESET = 27, /* ??? set on PowerMac, C660AV and */
- /* under MAE 1.0 */
- gestaltHasEnhancedLtalk= 30}; /* Enhanced LocalTalk &AD21 */
-
- NOTES:
- See for additional information the TN "M.OV.GestaltSysenvirons" (OV 16).
-
- On the Mac IIfx and Quadra 900 the gestaltHasSCC bit always returns 0
- because the SCC is isolated by I/O processors. When the Compatibility
- Switch control panel is used the bit is set. &AD12
-
- The old IM VI listed this selector as an environmental selector but
- IM OS Utilities now lists it as an informational selector.
-
- help (System [7.0])
- gestaltHelpMgrAttr
- Returns information about the Help Manager.
-
- enum {
- #define gestaltHelpMgrAttr 'help' /* Help Mgr attributes */
- gestaltHelpMgrPresent = 0, /* Help Mgr present */
- gestaltHelpMgrExtensions = 1, /* Help Mgr extensions installed */
- /* &AS03 */
- gestaltAppleGuideIsDebug = 30, /* Apple Guide is debugging version */
- /* &AS12 */
- gestaltAppleGuidePresent = 31}; /* Apple Guide is available &AS12 */
-
- hscd (High Sierra File Access ext [5.0], part of Apple CD-ROM Software)
- (ISO 9660 File Access ext [1.0-4.0], part of Apple CD-ROM Software)
- gestaltHighSierraVersion? &AT03
- Returns High Sierra File Access version in BCD.
-
- #define gestaltHighSierraVersion? 'hscd' /* High Sierra Fileaccess */
- /* version */
-
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
-
- icmp (QuickTime ext [1.0])
- gestaltCompressionMgr
- Returns Compression Manager version as Integer.
-
- #define gestaltCompressionMgr 'icmp' /* determines if Image */
- /* Compression manager is */
- /* available &AS01 */
-
- icon (System 7.5 Update ext [1.0])
- gestaltIconUtilities
- Returns information about the Icon Utilities routines.
-
- enum {
- #define gestaltIconUtilities 'icon' /* Icon Utils attributes */
- gestaltIconUtilitiesPresent = 0};
-
- NOTE:
- This selector is supposed to be implemented since System 7.1.2. You
- need to determine if the _IconDispatch A-trap (0xAB49) is available
- instead since the Icon Utilities are actually available since
- System 7.0. &AD13/AT01
- System 7.5.1 finally implements this selector. (Anonymous)
-
- iic (System? [7.5?])
- gestaltIICAttr &AS19
- Returns information about the Inter-Integrated Circuit Bus (IIC).
-
- enum {
- #define gestaltIICAttr 'iic ' /* Inter-Integrated Circuit Bus */
- gestaltStdIIC = 0, /* standard IIC */
- gestaltCombinedIIC = 1, /* combined format IIC */
- gestaltExtendedIIC = 2, /* extended IIC */
- gestaltMultiIIC = 3, /* multiple bus master IIC */
- gestaltGeneralCallIIC = 4, /* general call IIC */
- gestaltFastIIC = 5}; /* fast IIC */
-
- intd (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0])
- gestaltInternalDiskAttr?
- Returns information about the internal harddisk of portable
- computers?
-
- enum {
- #define gestaltInternalDiskAttr? 'intd' /* PB Internal HD attr. */
- gestaltHasInternalDisk? = 0, /* TRUE if machine has internal HD */
- gestaltDiskSpinning? = 1, /* TRUE if internal HD is spon up */
- gestalt??? = 24}; /* unknown, set on PB180, PB210, */
- /* PB540 and others? */
-
- WARNING:
- This information is from a reliable source. However, is it not
- officially confirmed by Apple and there are no constants defined.
-
- NOTE:
- On a PB Duo 210 (PowerBook Duo Enabler) I haven't seen bit 1 set with
- System 7.1, even when the disk is spinning. It is also reported the
- bit is clear when the disk is spinning and set when down (seen on
- PB Duo 230). (David Lewis, Rene Ros)
- This problem seems to be fixed with System 7.5.1. (Rene Ros)
-
- iscd (ISO 9660 File Access ext [5.0], part of Apple CD-ROM Software)
- gestaltISO9660Version?
- Returns ISO 9660 File Access version in BCD?.
-
- #define gestaltISO9660Version? 'iscd'
-
- NOTE:
- Versions before 5.0 installed the 'hscd' selector.
-
- Apple System Software (K-N)
- ===========================
- This chapter lists selector codes of which the meaning is known and the
- first character of the selector code is in the K-N range.
-
- kbd (System [6.0.4])
- gestaltKeyboardType
- Returns a value that indicates the type of keyboard on which the last
- keystroke was seen.
-
- enum {
- #define gestaltKeyboardType 'kbd ' /* keyboard type */
- gestaltMacKbd = 1, /* Macintosh Keyboard */
- gestaltMacAndPad = 2, /* Macintosh Keyboard with Pad */
- gestaltMacPlusKbd = 3, /* Macintosh Plus Keyboard */
- gestaltExtADBKbd = 4, /* Extended ADB Keyboard */
- gestaltStdADBKbd = 5, /* Standard ADB Keyboard */
- gestaltPrtblADBKbd = 6, /* Portable ADB Keyboard */
- gestaltPrtblISOKbd = 7, /* Portable ISO ADB Keyboard */
- gestaltStdISOADBKbd = 8, /* Standard ISO ADB Keyboard */
- gestaltExtISOADBKbd = 9, /* Extended ISO ADB Keyboard */
- gestaltADBKbdII = 10, /* ADB Keyboard II */
- gestaltElmerKbd = 10, /* = gestaltADBKbdII, used in some */
- /* sample code */
- gestaltADBISOKbdII = 11, /* ISO ADB Keyboard II */
- gestaltElmerISOKbd = 11, /* = gestaltADBISOKbdII, used in */
- /* some sample code */
- gestaltPwrBookADBKbd = 12, /* PowerBook Keyboard &AT01 */
- gestaltPwrBookISOADBKbd = 13, /* PowerBook Keyboard (ISO) &AT01 */
- gestaltAppleAdjustKeypad = 14, /* Apple Adjustable Keypad &AT01 */
- gestaltAppleAdjustADBKbd = 15, /* Apple Adjustable Keyboard, incl. */
- /* US, ISO and Japanese &AT01 */
-
- /* PowerBook Extended Keyboards &AS15 */
- gestaltPwrBkExtISOKbd = 20, /* PowerBook Extended Intl. */
- gestaltPwrBkExtJISKbd = 21, /* PowerBook Extended Japanese */
- gestaltPwrBkExtADBKbd = 24}; /* PowerBook Extended Domestic */
-
- ======================================================================
- Combinations of System Global KbdType/ADB Mgr devType and
- gestaltKeyboardType values &AT01
- ======================================================================
- KbdType gestaltKeyboardType Gestalt Name
- (hex.) (decimal)
- ----------------------------------------------------------------------
- 0x03 1 gestaltMacKbd
- 0x13 2 gestaltMacAndPad
- 0x0B 3 gestaltMacPlusKbd
- 0x02 4 gestaltExtADBKbd
- 0x01 5 gestaltStdADBKbd
- 0x06 6 gestaltPrtblADBKbd
- 0x07 7 gestaltPrtblISOKbd
- 0x04 8 gestaltStdISOADBKbd
- 0x05 9 gestaltExtISOADBKbd
- 0x08 10 gestaltADBKbdII
- 0x09 11 gestaltADBISOKbdII
- 0x0C 12 gestaltPwrBookADBKbd
- 0x0D 13 gestaltPwrBookISOADBKbd
- 0x0E 14 gestaltAppleAdjustKeypad
- 0x10 15 gestaltAppleAdjustADBKbd, US
- 0x11 15 gestaltAppleAdjustADBKbd, ISO
- 0x12 15 gestaltAppleAdjustADBKbd, Japanese
- 0x13 20 gestaltPwrBkExtISOKbd ?
- 0x14 21 gestaltPwrBkExtJISKbd ?
- 0x17 24 gestaltPwrBkExtADBKbd ?
- ----------------------------------------------------------------------
-
- NOTES:
- The Apple Adjustable Keyboard doesn't have its own Gestalt keyboard
- type defined with some versions of System Software (7.1?). It changes
- a low memory global but this doesn't change the Gestalt response. This
- problem is corrected by the Hardware System Update 2.0 and later.
-
- If the keyboard isn't recognized by the Gestalt Mgr, an error is
- returned. &AD19
-
- The PowerMac 7100/66 (System 7.1.2) doesn't install this selector for
- some reason. Other Macs with Gestalt version 4 do, so it isn't
- intentional.
-
- You may find a GestaltEqu header file which listes the Extended ADB
- keyboard as three different types (Dometic, International and
- Japanese) instead of one as later was corrected by Apple.
- The KbdType numbers for the PowerBook Extended Keyboards were found
- with the PTCH 5 resource of the Hardware System Update 2.0.
- (Rene Ros)
-
- Since this selector returns the type of the keyboard last touched
- and because there can be more than one keyboard, MacDTS considers this
- selector to be obsolete. You should use GetADBInfo instead and check
- the orgADBAddr field for a keyboard (0x02) and the devType field
- contains the keyboard device type. It uses the same values as the
- KbdType low memory variable, see the table above. &AD07/AT01
-
- kpcd (Apple Photo Access ext [1.0], part of Apple CD-ROM Software) &AT03
- gestaltApplePhotoAccessVersion?
- Returns Apple Phote Access version in BCD.
-
- #define gestaltApplePhotoAccessVersion? 'kpcd'
-
- NOTE:
- The above is what the documentation says. However it seems to return
- always 0xFFFFFF7 as response.
-
- lmem (System [6.0.4])
- gestaltLowMemorySize
- Returns the amount of the low-memory area in bytes.
-
- #define gestaltLowMemorySize 'lmem' /* low-memory area size */
-
- lram (System [6.0.4])
- gestaltLogicalRAMSize
- Returns the amount of logical memory available in bytes.
-
- #define gestaltLogicalRAMSize 'lram' /* logical RAM size */
-
- NOTE:
- The returned value may not be accurate because an adjustment to the
- number is performed to yield the best possible estimate of the
- remaining RAM. The discrepancy is usually because of different color
- depth settings for on-board video and because of the NanoKernel
- (68K emulator on Power Macintosh computers). The latter takes about
- 870K. &AD18
-
- mach (System [6.0.4]) INF
- gestaltMachineType
- Returns one of the following values, indicating the type of
- machine.
-
- enum {
- #define gestaltMachineType 'mach' /* machine type */
-
- /* RELEASED COMPUTERS */
- gestaltClassic = 1, /* Macintosh 128K and 512 */
- gestaltMacXL = 2, /* Macintosh XL */
- gestaltMac512KE = 3, /* Macintosh 512KE */
- gestaltMacPlus = 4, /* Macintosh Plus */
- gestaltMacSE = 5, /* Macintosh SE */
- gestaltMacII = 6, /* Macintosh II */
- gestaltMacIIx = 7, /* Macintosh IIx */
- gestaltMacIIcx = 8, /* Macintosh IIcx */
- gestaltMacSE030 = 9, /* Macintosh SE/30 */
- gestaltPortable = 10, /* Macintosh Portable */
- gestaltMacPortable = 10, /* = gestaltPortable &AD18 */
- gestaltMacIIci = 11, /* Macintosh IIci */
- gestaltMacIIfx = 13, /* Macintosh IIfx */
- gestaltMacClassic = 17, /* Macintosh Classic */
- gestaltMacIIsi = 18, /* Macintosh IIsi */
- gestaltMacLC = 19, /* Macintosh LC */
- gestaltQuadra900 = 20, /* Macintosh Quadra 900 &AT01 */
- gestaltPowerBook170 = 21, /* Macintosh PowerBook 170 &AT01 */
- gestaltQuadra700 = 22, /* Macintosh Quadra 700 &AT01 */
- gestaltClassicII = 23, /* Macintosh Classic II &AT01 */
- gestaltPowerBook100 = 24, /* Macintosh PowerBook 100 &AT01 */
- gestaltPowerBook140 = 25, /* Macintosh PowerBook 140 &AT01 */
- gestaltQuadra950 = 26, /* Macintosh Quadra 950 &AT01 */
- gestaltMacLCIII = 27, /* Macintosh LC III */
- gestaltPerforma450 = 27, /* = gestaltMacLCIII &AD18 */
- gestaltPowerBook210 = 29, /* Macintosh PowerBook 210 */
- gestaltPowerBookDuo210 = 29, /* = gestaltPowerBook210 &AD18 */
- gestaltMacCentris650 = 30, /* Macintosh Centris 650 */
- gestaltPowerBook230 = 32, /* Macintosh PowerBook 230 */
- gestaltPowerBookDuo230 = 32, /* = gestaltPowerBook230 &AD18 */
- gestaltPowerBook180 = 33, /* Macintosh PowerBook 180 */
- gestaltPowerBook160 = 34, /* Macintosh PowerBook 160 */
- gestaltMacQuadra800 = 35, /* Macintosh Quadra 800 */
- gestaltMacQuadra650 = 36, /* Macintosh Quadra 650 &AT01 */
- gestaltMacLCII = 37, /* Macintosh LC II */
- gestaltPerforma40x = 37, /* =gestaltMacLCII */
- /* Performa 400 Series &AT01 */
- gestaltPerforma430 = 37, /* =gestaltMacLCII */
- /* Performa 400 Series &AT01 */
- gestaltPowerBookDuo250 = 38, /* Macintosh PowerBook Duo 250 */
- /* &AT01 */
- gestaltPowerMac9150 = 39, /* Power Macintosh 9150 &AT01 */
- gestaltAWS9150_80 = 39, /* = gestaltPowerMac9150 */
- /* Workgroup Server 9150/80 */
- /* &AD18 */
- gestaltPowerMac8100_110 = 40, /* Power Macintosh 8100/110 and */
- /* Power Macintosh 8115/10 &AD18 */
- gestaltPowerMac5200_75 = 41, /* Power Macintosh 5200/75 &AT01 */
- /* and Power Macintosh 5300 */
- gestaltPowerMac6200 = 42, /* Power Macintosh 6200 */
- gestaltMacIIvi = 44, /* Macintosh IIvi */
- gestaltPerforma600 = 45, /* Macintosh Performa 600 */
- gestaltMacIIvm = 45, /* = gestaltPerforma600 &AD18 */
- gestaltPowerMac7100_80 = 47, /* Power Macintosh 7100/80 &AD18 */
- gestaltMacIIvx = 48, /* Macintosh IIvx */
- gestaltMacColorClassic = 49, /* Macintosh Color Classic */
- gestaltPerforma250 = 49, /* = gestaltMacColorClassic &AD18 */
- gestaltPowerBook165c = 50, /* Macintosh PowerBook 165c */
- gestaltMacCentris610 = 52, /* Macintosh Centris 610 */
- gestaltMacQuadra610 = 53, /* Macintosh Quadra 610 &AT01 */
- gestaltPowerBook145 = 54, /* Macintosh PowerBook 145 and */
- /* 145b &AT01 */
- gestaltPowerMac8100_100 = 55, /* Power Macintosh 8100/100 &AD18 */
- gestaltMacLC520 = 56, /* Macintosh LC 520 &AT01 */
- gestaltAWS9150_120 = 57, /* Workgroup Server 9150/120 */
- /* &AD23 */
- gestaltMacCentris660AV = 60, /* Macintosh Centris 660AV &AT01 */
- gestaltPerforma460 = 62, /* Macintosh Performa 460 */
- gestaltPerforma46x = 62, /* = gestaltPerforma460 &AD18 */
- gestaltPowerMac8100_80 = 65, /* Power Macintosh 8100/80 */
- gestaltPowerMac9500 = 67, /* Power Macintosh 9500/120 and */
- /* Power Macintosh 9500/132 */
- /* &AT01 */
- gestaltPowerMac7500 = 68, /* Power Macintosh 7500 */
- gestaltPowerMac8500 = 69, /* Power Macintosh 8500 */
- gestaltPowerBook180c = 71, /* Macintosh PowerBook 180c &AT01 */
- gestaltPowerBook520_540 = 72, /* Macintosh PowerBook 520/520c */
- /* and 540/540c use Power Mgr */
- /* call MaximumProcessorSpeed: */
- /* 25 and 33 mHz resp. &AT01 */
- gestaltPowerBook500 = 72, /* = gestaltPowerBook520_540 */
- /* &AD18 */
- /* Macintosh PowerBook 500 */
- /* series */
- gestaltPowerMac6100_60 = 75, /* Power Macintosh 6100/60 */
- gestaltPerforma611x = 75, /* =gestaltPowerMac6100_60 */
- /* Performa 611x Series &AT01 */
- gestaltPowerBookDuo270c = 77, /* Macintosh PowerBook Duo 270c */
- /* &AT01 */
- gestaltMacQuadra840AV = 78, /* Macintosh Quadra 840AV &AT01 */
- gestaltMacLC550 = 80, /* Macintosh LC 550 &AT01 */
- gestaltPerforma550 = 80, /* = gestaltMacLC550 &AD18 */
- gestaltPerforma560 = 80, /* = gestaltMacLC550 &AT01 */
- gestaltMacColorClassicII? = 83, /* Macintosh Color Classic II */
- gestaltPowerBook165 = 84, /* Macintosh PowerBook 165 &AT01 */
- gestaltPowerBook190 = 85, /* Macintosh PowerBook 190 */
- /* Macintosh PowerBook 190cs ? */
- /* &AD25 */
- /* ALERT! According to Dev. */
- /* Note, same as Q650 PPC */
- /* upgrade card? Value 85 */
- /* returned on a PB190cs */
- /* prototype? (Anonymous) */
- gestaltMacTV = 88, /* Macintosh TV */
- gestaltMacLC475 = 89, /* Macintosh LC 475 &AT01 */
- gestaltPerforma47x = 89, /* = gestaltMacLC475 &AD18 */
- gestaltMacLC575 = 92, /* Macintosh LC 575 &AT01 */
- gestaltPerforma57x = 92, /* = gestaltMacLC575 &AT01 */
- gestaltMacQuadra605 = 94, /* Macintosh Quadra 605 &AT01 */
- gestaltMacLC630 = 98, /* Macintosh LC 630, see below */
- /* &AT01 */
- gestaltMacQuadra630 = 98, /* Macintosh Quadra 630 &AT01 */
- /* Q630 has MC68040, LC 630 has */
- /* MC68LC040 but can upgrade */
- gestaltMac630 = 98, /* = gestaltMacLC630 */
- /* = gestaltMacQuadra630 */
- /* Macintosh 630 series &AD18 */
- gestaltTellShow = 98, /* = gestaltMacLC630 */
- /* = gestaltMacQuadra630 */
- /* = gestaltMac630 */
- /* Codename for LC630 &AD16 */
- gestaltMacLC580 = 99, /* Macintosh LC 580 &AD18 */
- gestaltTellXfmr = 99, /* = gestaltMacLC580 */
- /* Codename LC580 &AD16 */
- gestaltPerforma580 = 99, /* = gestaltMacLC580 &AT01 */
- gestaltPowerMac6100_66 = 100, /* Power Macintosh 6100/66 */
- gestaltPowerBookDuo280 = 102, /* Macintosh PowerBook Duo 280 */
- gestaltPowerBookDuo280c = 103, /* Macintosh PowerBook Duo 280c*/
- gestaltPowerMac7200 = 108, /* Power Macintosh 7200/75 */
- /* Power Macintosh 7200/90 ? */
- gestaltPowerMac7100_66 = 112, /* Power Macintosh 7100/66 */
- gestaltPowerBook150 = 115, /* Macintosh PowerBook 150 */
- gestaltPowerBook2300? = 124, /* Macintosh PowerBook 2300c */
- /* &AD27/AT01 */
- gestaltPowerBook5300 = 128, /* Macintosh PowerBook 5300, */
- /* Macintosh PowerBook 5300c, */
- /* Macintosh PowerBook 5300cs, */
- /* and Macintosh PowerBook */
- /* 5300ce &AT01/AD26 See also */
- /* #129 in OBSERVED MACHINE */
- /* VALUES IN SYSTEM SOFTWARE */
- /* part */
-
- /* RELEASED UPGRADE CARDS (&AD18 and &AT01) */
- gestaltPowerMac475 = 104, /* LC475, P47x and Q605 PPC */
- gestaltPowerMacLC475 = 104, /* = gestaltPowerMac475 */
- gestaltPowerMacPerforma47x = 104, /* = gestaltPowerMac475 */
- /* = gestaltPowerMacLC475 */
- gestaltPowerMac575 = 105, /* LC575 and P57x PPC */
- gestaltPowerMacLC575 = 105, /* = gestaltPowerMac575 */
- gestaltPowerMacPerforma57x = 105, /* = gestaltPowerMac575 */
- /* = gestaltPowerMacLC575 */
- gestaltPowerMac630 = 106, /* Q630, LC630 and P63x PPC */
- gestaltPowerMacQuadra630 = 106, /* = gestaltPowerMac630 */
- gestaltPowerMacLC630 = 106, /* = gestaltPowerMac630 */
- /* = gestaltPowerMacQuadra630 */
- gestaltPowerMacPerforma63x = 106, /* = gestaltPowerMac630 */
- /* = gestaltPowerMacQuadra630 */
- /* = gestaltPowerMacLC630 */
- gestaltPowerMac580 = 107, /* LC580 (and P58x?) PPC */
- gestaltPowerMacLC580 = 107, /* = gestaltPowerMac580 */
- gestaltPowerMac700 = 116, /* Q700 PPC */
- gestaltPowerMacQuadra700 = 116, /* = gestaltPowerMac700 */
- gestaltPowerMac900 = 117, /* Q900 PPC */
- gestaltPowerMacQuadra900 = 117, /* = gestaltPowerMac900 */
- gestaltPowerMac950 = 118, /* Q950 PPC */
- gestaltPowerMacQuadra950 = 118, /* = gestaltPowerMac950 */
- gestaltPowerMacC610 = 119, /* C610 PPC */
- gestaltPowerMacCentris610 = 119, /* = gestaltPowerMacC610 */
- gestaltPowerMacC650 = 120, /* C650 PPC */
- gestaltPowerMacCentris650 = 120, /* = gestaltPowerMacC650 */
- gestaltPowerMacQ610 = 121, /* Q610 PPC */
- gestaltPowerMacQuadra610 = 121, /* = gestaltPowerMacQ610 */
- gestaltPowerMacQ650 = 122, /* Q650 PPC */
- gestaltPowerMacQuadra650 = 122, /* = gestaltPowerMacQ650 */
- gestaltPowerMac800 = 123, /* Q800 PPC */
- gestaltPowerMacQuadra800 = 123, /* = gestaltPowerMacQ800 */
- gestaltPPCPowerBook520_540 = 124, /* Macintosh PowerBook 5xx PPC */
- /* upgrade card &AD28/AT01 */
-
- /* NEVER TO BE RELEASED */
- /* The following machine values are used by not to be released ROM */
- /* images. If you observe any of these values, it's a prerelease */
- /* system. */
- gestaltPowerMac6100_66? = 46, /* Power Macintosh 6100/66 */
- gestaltPowerMac8100_100? = 66, /* Power Macintosh 8100/100 */
- gestaltPowerMac7100_80? = 113, /* Power Macintosh 7100/80 */
-
- /* UNKNOWN RELEASED COMPUTERS */
- gestaltPowerBook550c? = ???, /* Macintosh PowerBook 550c */
-
- /* OBSERVED UNRELEASED COMPUTERS */
- gestaltPowerMac8100_120 = 12, /* Power Macintosh 8100/120 */
- gestalt??? = 43, /* pre-release Tempest/Cyclone */
- gestalt??? = 51, /* System 7.5 Update 2.0 */
- gestalt??? = 59, /* System 7.5 Update 1.0 */
- gestaltPowerMac8100_60? = 61, /* Power Macintosh 8100/80 */
- /* running at 60 MHz}
- gestaltPowerMac8100_60? = 64, /* Power Macintosh 8100/60 and */
- /* Power Macintosh 8100/80 */
- /* when running at 66.6 MHz */
- gestalt??? = 74, /* pre-release Power Mac named */
- /* 'PDM Evt 1 (R.I.P.)' */
- gestaltLC475_20? = 86, /* Q605 as a LC475 at 20 Mhz */
- /* instead of 25 Mhz */
- gestaltLC575_20? = 87, /* LC575 at 20 MHz instead of */
- /* 33 MHz */
- gestaltLC475_33? = 90, /* Q605 as a LC475 at 33 Mhz */
- /* instead of 25 Mhz */
- gestaltLC575_25? = 91, /* LC575 at 25 MHz instead of */
- /* 33 MHz */
- gestaltQ605_20? = 93, /* Q605 at 20 Mhz instead of */
- /* 25 MHz */
- gestaltQ605_33? = 95, /* Q605 at 33 Mhz instead of */
- /* 25 MHz */
- gestaltPowerMac6100_80? = 101, /* Power Macintosh 6100/80 */
- gestaltPowerMac7100_60? = 111, /* Power Macintosh 7100/60 */
- gestaltPowerMac7100_80b? = 113, /* PM 7100/66 at 80 Mhz */
- /* value <> PM 7100/80 ! */
- gestaltPowerMac7100_82? = 114, /* Macintosh 7100/82 */
-
- /* OBSERVED MACHINE VALUES IN SYSTEM SOFTWARE */
- /* these values were found in enablers, either in the gbly */
- /* resource or in the machine name STR# resource. */
- gestaltPaulaMac? = 31, /* "Paula's Desk Macintosh" in */
- /* PowerPC Enabler 1.1 */
- gestalt??? = 63, /* System 7.5 Update 2.0 */
- gestalt??? = 73, /* System 7.5 Update 1.0 */
- gestalt??? = 79, /* System 7.5 Update 2.0 */
- gestalt??? = 81, /* System 7.5 Update 1.0 */
- gestalt??? = 114, /* System 7.5 Update 1.0 */
- gestalt??? = 125, /* MAE Enabler */
- gestalt??? = 126, /* MAE Enabler */
- gestaltPowerBook5300? = 129, /* Macintosh PowerBook 5300, */
- /* Macintosh PowerBook 5300c, */
- /* Macintosh PowerBook 5300cs, */
- /* and Macintosh PowerBook */
- /* 5300ce See also #128 in */
- /* RELEASED COMPUTERS part */
- gestaltPowerMacIIci? = 206, /* IIci PPC, MacsBugs 2.5.2 */
- gestaltPowerMacIIsi? = 207, /* IIsi PPC, MacsBugs 2.5.2 */
- gestaltPowerMacIIvi? = 208, /* IIvi PPC, MacsBugs 2.5.2 */
- gestaltPowerMacIIvx? = 209, /* IIvx PPC, MacsBugs 2.5.2 */
- gestaltPowerMacIIvm? = 210, /* IIvm PPC, MacsBugs 2.5.2 */
- gestaltPowerMacIIfx? = 211, /* IIfx PPC, MacsBugs 2.5.2 */
- };
-
- NOTES:
- The Power Macintosh computers also set the three low bits of a 32-bit
- register at a specified address to a machine identification code.
-
- ======================================================================
- Power Macintosh register identification codes
- ======================================================================
- Machine Address Register bits Source
- ----------------------------------------------------------------------
- Power Macintosh 5200 ??? ???
- Power Macintosh 6100 0x5FFF FFFC 000
- Power Macintosh 7100 0x5FFF FFFC 010
- Power Macintosh 7200 ??? ???
- Power Macintosh 7500 ??? ???
- Power Macintosh 8100 0x5FFF FFFC 011
- Power Macintosh 8500 ??? ???
- Power Macintosh 9150 0x5FFF FFFC 100 &AD23
- Power Macintosh 9500 ???
- ----------------------------------------------------------------------
-
- An upgraded Centris 610 doesn't return 119 (Centris 610 upgrade card?)
- but 75 (PowerMac 6100). (Carl R. Osterwald)
- With an upgraded Quadra 700 the upgrade card value is returned. The
- values for the upgrade cards came from the kMachineNameStrID resource
- from the Power Mac Upgrade Card enabler distributed with System
- Update 3.0 on disk 2. The Power Macintosh Card 1.0 control panel
- checks both the Quadra/Centris machine IDs and the ones for the
- upgrade cards to determine if it can run. (Rene Ros)
-
- With systems prior to System 7.1 these selectors return the same
- values for the:
- - Macintosh LC and
- Macintosh LC II (LC has MC68020,LC II has MC68030)
- - Macintosh PowerBook 140 and
- Macintosh PowerBook 145 (use MaximumProcessorSpeed from Power Mgr?,
- 16 and 25 MHz resp.)
-
- The Developer Notes (available from APDA, on ftp.info.apple.com and on
- the Developer CD-ROM Series) about some PowerBook models (100, 140,
- 170, 190, PB2300 and PPC Upgrade PB5xx) provide incorrect information
- regarding the machine type returned by the Gestalt Manager.
- The Developer Note on the Power Macintosh 9500 doesn't contain any
- Gestalt info, so it can't be wrong!
- The Developer Note on the Power Macintosh 7200 says the type value is
- 0x108, this must be 108 (decimal!). (Eric-Paul Rebel)
-
- IM More Macintosh Toolbox (p. 1-127) lists this selector as
- 'gestaltMachineModel'.
-
- You can use the returned value as an index with GetIndString
- to get the machine's name. The STR# resource ID is:
- enum {
- kMachineNameStrID = -16395};
- See for more information on the Machine Name STR# resource the
- 'Machine Name' section in the 'Reports' chapter.
-
- To check which processor clockspeed the machine is running at,
- use the 'pclk' selector. For the bus clockspeed, use the 'bclk'
- selector.
-
- See for more information on hardware modified Macintosh computers
- (i.e. clock chipping) and the values they return the 'Clock Chipped'
- section in the 'Reports' chapter.
-
- See for more information on clones the 'Macintosh Clones' section in
- the 'Reports' chapter.
-
- See for more information on relabled Macintosh models (i.e. the
- Performa models) the 'Relabled Macintosh Models' section in the
- 'Reports' chapter.
-
- malr (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSMPMailerVersion
- Returns the SMP Mailer version as INTEGER. Returns zero if not
- present and available.
-
- #define gestaltSMPMailerVersion 'malr' /* SMP Mailer version */
-
- micn (System [6.0.4]) INF
- gestaltMachineIcon
- Returns an icon family resource ID for the current type of
- Macintosh.
-
- #define gestaltMachineIcon 'micn' /* machine ICON/cicn res ID */
-
- NOTE:
- It appears as if this selector always returns the ID of the generic
- Macintosh icon (like in the Welcome screen), starting with System 7.5.
- On a PowerBook 5300 with System 7.5.2 installed the icon ID is
- returned for an icon showing a generic portable computer. (Rene Ros)
-
- misc (System [6.0.5])
- gestaltMiscAttr
- Returns information about miscellaneous pieces of software or
- hardware.
-
- enum {
- #define gestaltMiscAttr 'misc' /* miscellaneous attributes */
- gestaltScrollingThrottle = 0,
- gestaltBootGlobals = 1, /* Boot Globals &M02, obsolete? */
- gestaltSquareMenuBar = 2};
-
- mixd (System? [7.1.2?])
- gestaltMixedModeAttr
- Returns information about the Mixed Mode Manager.
-
- enum {
- #define gestaltMixedModeAttr 'mixd' /* Mixed Mode Mgr attributes */
- gestaltPowerPCAware = 0}; /* True if MMMgr Supports PowerPC */
-
- NOTE:
- The name 'gestaltMixedModeVersion' (as used in IM OS Utilites and
- IM PowerPC System Software) is incorrect. It may be listed in
- Gestalt header files for a limited time for backwards compatibility.
- (Rene Ros)
-
- mmu (System [6.0.4])
- gestaltMMUType
- Returns a value that indicates the type of MMU currently installed,
- if any.
-
- enum {
- #define gestaltMMUType 'mmu ' /* MMU Type */
- gestaltNoMMU = 0, /* no MMU */
- gestaltAMU = 1, /* AMU */
- gestalt68851 = 2, /* 68851 MMU */
- gestalt68030MMU = 3, /* built-in 68030 MMU */
- gestalt68040MMU = 4, /* built-in 68040/68LC040 &S01 */
- gestaltEMMU1 = 5}; /* Emulated MMU type 1, PowerPC MMU &AS05 */
-
- NOTE:
- You should also use this selector to test for the existence of
- _MemoryDispatch if your code runs before system patches are applied
- on machines of which the ROM implements _MemoryDispatch but the
- machine doesn't have a MMU. This may happen with a Mac LC, whose
- ROM is derived from the Macintosh IIci. &AT09
-
- mtcp (MacTCP cp [1.1])
- (Open Tpt MacTCP [3.0a2])
- gestaltMacTCPVersion? &AD01
- Returns the version of MacTCP, if opened, as index-value. If MacTCP is
- not opened a value of 0 is returned.
-
- #define gestaltMacTCPVersion? 'mtcp'
-
- ======================================================================
- MacTCP responses
- ======================================================================
- Version Response Remarks
- ----------------------------------------------------------------------
- all 0 MacTCP not opened.
- 1.1 1
- 1.1.1 2
- 2.0.x 3
- 3.0 4 Part of Open Transport 1.0
- ----------------------------------------------------------------------
-
- NOTE:
- No constants are defined by the documentation.
-
- nlup (System [7.0])
- gestaltStdNBPAttr
- Returns information about the call StandardNBP.
-
- enum {
- #define gestaltStdNBPAttr 'nlup' /* Standard NBP attributes */
- gestaltStdNBPPresent = 0,
- gestaltStdNBPSupportsAutoPosition = 1}; /* StandardNBP takes */
- /* (-1,-1) for auto- */
- /* positioning */
-
- nmgr (System [6.0.5])
- gestaltNotificationMgrAttr
- Returns information about the Notification Manager.
-
- enum {
- #define gestaltNotificationMgrAttr 'nmgr' /* Notification Mgr attr. */
- gestaltNotificationPresent = 0};
-
- nreg (System [7.5.1])
- gestaltNameRegistryVersion &AD21
- Returns the version of Name Registry as ???
-
- #define gestaltNameRegistryVersion 'nreg';
-
- NOTE:
- Seen installed on a Performa 5200 and 6200 both with System 7.5.1, it
- returned 0 though! (Rene Ros)
-
- nubs (System [6.0.4, 6.0.5, 6.0.7, discontinued])
- gestaltNuBusSlotCount
- Returns count of NuBus slots.
-
- #define gestaltNuBusSlotCount 'nubs' /* NuBus slot count */
-
- nvsv (System [Copland?])
- gestaltNavigationServicesAttr &AD21
- Returns information about the Navigation Services.
-
- enum {
- #define gestaltNavigationServicesAttr 'nvsv'
- gestaltNavigationServicesPresent = 0};
-
- WARNING:
- From the Preliminary Copland Headers. May change in the future.
-
- Apple System Software (O-S)
- ===========================
- This chapter lists selector codes of which the meaning is known and the
- first character of the selector code is in the O-S range.
-
- ocet (PowerTalk Manager ext [1.0?], part of PowerTalk)
- gestaltOCEToolboxVersion
- Returns the versions of the S&F Server and the OCE Toolbox as BCD.
- Returns zero if not present and available.
-
- enum {
- #define gestaltOCEToolboxVersion 'ocet' /* OCE Toolbox version */
- gestaltOCETB = 0x0102, /* current OCE Toolbox version 1.0.2 */
- gestaltSFServer = 0x0100}; /* current S&F Server version 1.0 */
-
- NOTE:
- The high order word will represent the S&F Server version number, and
- the low order the OCE Toolbox version number both as BCD.
- These will be zero until the component is up and running.
-
- oceu (PowerTalk Manager ext [1.0?], part of PowerTalk)
- gestaltOCEToolboxAttr
- Returns information about the Open Colloboration Environment Toolbox.
-
- enum {
- #define gestaltOCEToolboxAttr 'oceu' /* OCE Toolbox attributes */
- gestaltOCETBPresent = 0x1, /* OCE toolbox is present, */
- /* not running */
- gestaltOCETBAvailable = 0x2, /* OCE toolbox is running */
- /* and available */
- gestaltOCESFServerAvailable = 0x4, /* S&F Server is running */
- /* and available */
- gestaltOCTBNativeGlueAvailable = 0x10}; /* PowerPC glue available */
- /* &AS13 */
-
- NOTE:
- Any (future) remaining OCE attributes may not be established
- correctly until the attribute gestaltOCETBAvailable is set.
-
- opfw (System [7.5.2])
- gestaltOpenFirmwareInfo
- Returns ???
-
- enum {
- #define gestaltOpenFirmwareInfo 'opfw'
- gestalt??? = 1};
-
- NOTE:
- This selector may be installed but returns gestaltUnknownErr instead
- of zero. (Rene Ros)
-
- os (System [6.0.4, 7.0 and later])
- (Process Manager INIT ext [???], part of ???)
- gestaltOSAttr
- Returns general information about the Operating System.
-
- enum {
- #define gestaltOSAttr 'os ' /* O/S attributes */
- gestaltSysZoneGrowable = 0,
- gestaltLaunchCanReturn = 1,
- gestaltLaunchFullFileSpec = 2,
- gestaltLaunchControl = 3,
- gestaltTempMemSupport = 4,
- gestaltRealTempMemory = 5,
- gestaltTempMemTracked = 6,
- gestaltIPCSupport = 7,
- gestaltSysDebuggerSupport = 8,
- gestaltSkiaGlobalsSwitched = 9, /* &AS05 */
- gestaltBgndMouseDownSupport?= 10, /* unnamed Process Mgr routine */
- /* available to indicate if a */
- /* layer switch is wanted by the */
- /* application when one of its */
- /* windows is clicked while in */
- /* the background. &AS04 */
- gestalt??? = 11, /* on PowerPC, Performa 630 and */
- /* PB180? */
- gestalt??? = 13, /* unknown, System 7.5 */
- gestalt??? = 14, /* unknown, System 7.5 */
- gestalt??? = 15}; /* unknown, System 7.5.1 */
-
- NOTES:
- See the Process Manager chapter in IM Processes for more information
- about the launch control features. And the Memory Manager chapter in
- IM Memory about the memory features.
-
- Under A/UX 2.x this selector incorrectly returns information about the
- Process Manager, which isn't available. You should test for A/UX 3.0 or
- later by using the gestaltAUXVersion ('a/ux') selector. &AT10
-
- More information on the unnamed routine which presence is indicated
- by the gestaltBgndMouseDownSupport? bit can be found in the orginal
- email from Marco Piovanelli to the editor of the GSL. You can get a
- copy by emailing this command to the mail archive server:
- 'archive get src/bgndmouse.txt'
-
- The header file which lists the gestaltSkiaGlobalsSwitched bit says
- this:
- /*gestaltSkiaGlobalsSwitched is #9. I don't know why it is not here*/
-
- "Skia" was the code name for QuickDraw GX (MacsBug uses it for trap
- 0xA832, which is the main QuickDraw GX trap).
- (Lawrence D'Oliveiro, Anonymous)
-
- ostt (System [6.0.8?])
- gestaltOSTable
- Returns the base address of the Operating System trap table.
-
- #define gestaltOSTable 'ostt' /* O/S trap table base */
-
- osyv (sysvINIT ext [???] by T. Tanaka, Apple Computer Japan Inc.)
- gestaltOldSystemVersion?
- Returns the version of the system file as BCD which was returned
- before sysvINIT replaced the gestalt definition with a corrected one.
-
- #define gestaltOldSystemVersion? 'osyv'
-
- NOTE:
- Because of a bug with KanjiTalk 6.0.7 this extension (snippet code,
- available on Developer CD Series) replaces the standard 'sysv' gestalt
- function with a corrected one to return 0x0607 and installs the
- 'osyv' selector which uses the replaced gestalt definition. &M03
-
- pccd (System? [???])
- gestaltCardServicesAttr &AD24
- Returns information about the PC Card Manager (for managing i.e.
- PCMCIA cards).
-
- enum {
- #define gestaltCardServicesAttr 'pccd', /* Card Services attributes */
- gestaltCardServicesPresent = 0}; /* if set, Card Services is */
- /* present */
-
- NOTE:
- This selector is not implemented with any current system software
- (7.5.1) on the PowerBook 500 Series computers.
-
- pcxg (PC Exchange cp? [???]) &AS04/AS05
- gestaltPCXAttr
- Returns information about PC Exchange.
-
- enum {
- #define gestaltPCXAttr 'pcxg' /* PC Exchange attributes */
- gestaltPCXHas8and16BitFAT = 0, /* PC Exchange supports both 8 and */
- /* 16 bit FATs */
- gestaltPCXHasProDOS = 1}; /* PC Exchange supports ProDOS */
-
- pgsz (System [6.0.4])
- gestaltLogicalPageSize
- Returns the logical page size in bytes.
-
- #define gestaltLogicalPageSize 'pgsz' /* logical page size */
-
- NOTE:
- The value is unknown on 68000 machines, Gestalt will return an error.
-
- pop! (System [7.0])
- gestaltPopupAttr
- Returns information about the pop-up control definition.
-
- enum {
- #define gestaltPopupAttr 'pop!' /* pop-up CDEF attributes */
- gestaltPopupPresent = 0}; /* pop-up CDEF available */
-
- powr (System [6.0.4])
- gestaltPowerMgrAttr
- Returns information about the Power Manager, if present.
-
- enum {
- #define gestaltPowerMgrAttr 'powr' /* Power Mgr attributes */
- gestaltPMgrExists = 0, /* Power Mgr is present */
- gestaltPMgrCPUIdle = 1, /* CPU can idle */
- gestaltPMgrSCC = 2, /* can stop SCC clock */
- gestaltPMgrSound = 3, /* can shut off sound circuits */
- gestaltPMgrDispatchExists = 4}; /* dispatch routines are present */
-
- NOTE:
- Bit 4 seen set on Power Mac codenamed Catalyst with System 7.5.2.
- This is because some desktop machines support the Power Manager for
- things like Energy Star compliance. (Two anonymous contributors)
-
- ppc (System [7.0])
- gestaltPPCToolboxAttr
- Returns information about the capabilities of the PPC Toolbox.
-
- enum {
- #define gestaltPPCToolboxAttr 'ppc ' /* PPC Toolbox attributes */
- gestaltPPCToolboxPresent = 0x0000, /* Requires PPCInit to */
- /* be called */
- gestaltPPCSupportsIncoming = 0x0001, /* Deny incoming net */
- /* requests */
- gestaltPPCSupportsOutGoing = 0x0002, /* Deny outgoing net */
- /* requests */
- gestaltPPCSupportsRealTime = 0x1000, /* Supports real-time */
- /* delivery */
- gestaltPPCSupportsStoreAndForward = 0x2000, /* Supports store and */
- /* forward delivery */
- gestaltPPCSupportsDontCare = 0x4000}; /* Supports specifi- */
- /* cation of Don't */
- /* care */
-
- NOTE:
- The first thing that is confusing is that, unlike other selectors
- returning attributes, the responses are not bit values, but bit masks.
- This means you simply AND the value with the response to test the bit.
- The second thing that is confusing is how to interpret
- gestaltPPCToolboxPresent = 0x0000.
- What this means is that if the PPC toolbox is present, but has not
- been initialised (by calling PPCInit), then gestaltPPCToolboxAttr
- returns 0x0000. In reality, PPCInit gets called by the Process
- Manager before any applications get launched, so no applications will
- actually see this response. (Dave Radcliffe)
-
- proc (System [6.0.4])
- gestaltProcessorType
- Returns a value that indicates the type of processor that is
- currently running (or emulated on Power Macs or under MAE).
-
- enum {
- #define gestaltProcessorType 'proc' /* processor type */
- gestalt68000 = 1, /* MC68000 */
- gestalt68010 = 2, /* MC68010 */
- gestalt68020 = 3, /* MC68020 */
- gestalt68030 = 4, /* MC68030 */
- gestalt68040 = 5}; /* MC68040 &S01 */
-
- NOTES:
- The 68LC040 responds as type gestalt68040 but doesn't have a FPU. The
- user can swap out the 68LC040 and put in a real 68040 with FPU, so
- just checking the machineType or the processorType isn't enough.
- (Dave Radcliffe)
-
- Has there been a 68EC030 processor??? I assume it returns
- gestalt68030 but doesn't have an MMU. (Rene Ros)
-
- On a Power Macintosh the Gestalt function returns, although a 68LC040
- is emulated, the value gestalt68020. This return value is intended to
- highlight the two ways in which the 68LC040 Emulator more closely
- resembles a 68020 processor than a 68040 processor. &AD11
-
- prpv (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSDPPromptVersion
- Returns the SDP Prompt version as INTEGER. Returns zero if not
- present and available.
-
- #define gestaltSDPPromptVersion 'prpv' /* SDP Prompt version */
-
- prty (System [6.0.4])
- gestaltParityAttr
- Returns information about the parity-checking abilities of the
- machine.
-
- enum {
- #define gestaltParityAttr 'prty' /* parity attributes */
- gestaltHasParityCapability = 0,
- gestaltParityEnabled = 1};
-
- pwky (System Update enbl [7.5 upd 2.0])
- gestaltPowerKeyAddr?
- Returns a pointer to a routine of type
-
- typedef pascal OSErr (*PwrKeyProc)(short item, short action);
-
- to enable/disable the PowerKey and/or Shutdown Alert.
-
- #define gestaltPowerKeyAddr? 'pwky'
-
- NOTE:
- See 'Disabling PowerKey' in the 'Reports' chapter for more
- information.
-
- qd (System [6.0.4])
- gestaltQuickdrawVersion
- Returns the version of QuickDraw currently present as 2-byte value.
-
- enum {
- #define gestaltQuickdrawVersion 'qd ' /* QuickDraw version */
- gestaltOriginalQD = 0x000,
- gestaltOriginalQD1 = 0x001,
- gestalt8BitQD = 0x100,
- gestalt32BitQD = 0x200,
- gestalt32BitQD11 = 0x210,
- gestalt32BitQD12 = 0x220,
- gestalt32BitQD13 = 0x230,
- gestalt32BitQD135? = 0x235, /* with System 7.1.2, ROM = 3072K? */
- gestalt32BitQD139? = 0x239, /* with System 7.5.1 on Power Macs */
- /* &AT12 */
- gestalt32BitQD141? = 0x241}; /* with System 7.5.2 */
-
- ======================================================================
- Possible Combinations of ROM Versions and System Software Versions
- ======================================================================
- ROM Class System Version Gestalt Value
- ----------------------------------------------------------------------
- Black-and-white class < 7.0 gestaltOriginalQD
- (ROM < 256K) >= 7.0 gestaltOriginalQD and
- gestaltSystemVersion >= 0x0700
-
- Color QD class < 7.0, no INITs gestalt8BitQD
- (ROM = 256K) 6.0.3/6.0.4 and gestalt32BitQD
- 32-Bit QD INIT 1.0
- 6.0.5-6.0.8 and gestalt32BitQD12
- 32-Bit QD INIT 1.2
- >= 7.0 gestalt32BitQD13
-
- ci class 6.0.4 gestalt32BitQD + 1
- (256K < ROM >= 3072K) 6.0.5-6.0.8 gestalt32BitQD12
- >= 7.0 gestalt32BitQD13
- SuperROM? 7.1.2-7.5? gestalt32BitQD135?
- (ROM = 3072K) 7.5.1? gestalt32BitQD139?
- 7.5.2? gestalt32BitQD141?
- ----------------------------------------------------------------------
- (Original source: D e v e l o p 14, June 1993, p. 56;
- Info on System 7.1.2 and later based on observations and technical
- notes.)
-
- NOTE:
- gestalt32BitQD11 is never returned and gestalt32BitQD + 1 means
- 0x0201 as response value and doesn't has a constant defined.
- Another QuickDraw version is System 7 with a black-and-white class
- machine.
-
- Color QuickDraw is only available on 68020 and greater CPUs, and
- this selector always returns gestaltOriginalQD on 68000 machines,
- even when running System 7. &AT11
-
- qdrw (System [7.0])
- gestaltQuickDrawFeatures &S01
- Returns information about QuickDraw.
-
- enum {
- #define gestaltQuickDrawFeatures 'qdrw' /* QuickDraw attributes */
- #define gestaltQuickDrawFeaturesAttr 'qdrw' /* used in some headers */
- gestaltHasColor = 0,
- gestaltHasDeepGWorlds = 1,
- gestaltHasDirectPixMaps = 2,
- gestaltHasGrayishTextOr = 3,
- gestaltSupportsMirroring = 4}; /* &AD12 */
-
- NOTES:
- There is a bug in the 'qdrw' selector that causes it to report that
- Color QuickDraw is always present, even on machines that don't support
- it. Apple has acknowledged this bug on AppleLink. (Chris Wysocki)
- Use SysEnvirons instead or test for the QD version ('qd ') being
- 8-bit QD or later.
-
- qtim (QuickTime ext [1.0])
- gestaltQuickTime
- gestaltQuickTimeVersion
- Returns QuickTime version as NumVersion.
-
- #define gestaltQuickTime 'qtim' /* Movie Toolbox Availability */
- #define gestaltQuickTimeVersion 'qtim' /* Movie Toolbox version */
-
- NOTES:
- The returned version is obtained from 'vers' resource ID# 1.
-
- Initially the name 'gestaltQuickTime' was used to test for the
- availability of QuickTime. The fact that is always returned a
- version number was not documented until later. Then the name
- 'gestaltQuickTimeVersion' was defined. (Rene Ros)
-
- See 'Reports' chapter (QuickTime section) for more information.
-
- qtrs (QuickTime PowerPlug ext [1.0?])
- gestaltQuickTimeFeatures &AS06
-
- enum {
- #define gestaltQuickTimeFeatures 'qtrs' /* QT Features attributes */
- gestaltPPCQuickTimeLibPresent = 0}; /* PowerPC QT glue library is */
- /* present */
-
- NOTE:
- The gestaltPPCQuickTimeLibPresent bit indicates that the native
- QuickTime interface library is available and can be called by native
- PowerPC applications. (Dave Radcliffe)
- See for more info Technical Note
- 'QT 01 - Inside Macintosh: QuickTime Addendum'.
-
- ram (System [6.0.4])
- gestaltPhysicalRAMSize
- Returns the number of bytes of the physical RAM currently installed.
-
- #define gestaltPhysicalRAMSize 'ram ' /* physical RAM */
-
- rbv (System [6.0.4, discontinued?]) &AS04
- gestaltRBVAddr
- Returns the address of the RBV.
-
- #define gestaltRBVAddr 'rbv ' /* RBV address */
-
- reno (Apple Guide ext [1.2?], part of System 7.5 and later)
- ???
- Indicates presence "of the Reno system extension." (Reno is the
- mechanism behind Apple Guide for managing the help data-bases?)
-
- rom (System [6.0.4]) INF
- gestaltROMSize
- Returns the size of the installed ROM in bytes.
-
- #define gestaltROMSize 'rom ' /* ROM size */
-
- NOTE:
- On Power Macintosh computers this selector returns the ROM size minus
- the 68K emulator portion, which uses about 1 MB. &AD18
-
- romv (System [6.0.4]) INF
- gestaltROMVersion
- Returns the version number of the installed ROM.
-
- #define gestaltROMVersion 'romv' /* ROM version */
-
- rsrc (System [should work since 7.0?])
- gestaltResourceMgrAttr
- Returns information about the Resource Manager.
-
- enum {
- #define gestaltResourceMgrAttr 'rsrc' /* Resource Mgr attributes */
- gestaltPartialRsrcs = 0,
- gestaltResourceOverrides? = 1}; /* resource map overrides? */
-
- NOTE:
- Under System 7, bit 0 that tells if you have partial resource support
- doesn't work right. The selector is undefined under System 7.0 and
- 7.0.1 even though the partial resource calls are available. This has
- been acknowledged by Apple. (Michael Hecht, Quinn)
-
- rtmr (System? [7.1.1?])
- gestaltRealtimeMgrAttr
- Returns information about the Realtime Manager.
-
- enum {
- #define gestaltRealtimeMgrAttr 'rtmr' /* Realtime Mgr attributes */
- gestaltRealtimeMgrPresent = 0}; /* Realtime Mgr is present */
-
- NOTE:
- If the RealTime Mgr is present this means the ARTA routines are
- available to determine if and how many DSPs are installed.
- (Zalman Stern)
-
- sccr (System [6.0.4, discontinued]) &AS04
- gestaltSCCReadAddr
- Returns the address of SCC read ports.
-
- #define gestaltSCCReadAddr 'sccr' /* SCC read ports address */
-
- sccw (System [6.0.4, discontinued]) &AS04
- gestaltSCCWriteAddr
- Returns the address of SCC write ports.
-
- #define gestaltSCCWriteAddr 'sccw' /* SCC write ports address */
-
- scr# (System [6.0.4])
- gestaltScriptCount
- Returns the number of script systems currently active.
-
- #define gestaltScriptCount 'scr#' /* number of active scripts */
-
- scra (Macintosh Easy Open cp [1.0]) &AD03
- gestaltScrapMgrAttr
- Returns information about the Scrap Manager.
-
- enum {
- #define gestaltScrapMgrAttr 'scra'; /* Scrap Mgr attributes */
- gestaltScrapMgrTranslationAware = 0};
-
- scri (System [6.0.4])
- gestaltScriptMgrVersion
- Returns the version number of the Script Manager as BCD.
-
- #define gestaltScriptMgrVersion 'scri' /* Script Mgr version */
-
- ======================================================================
- Version numbers for the Script Manager
- ======================================================================
- System Version Script Mgr Script Mgr Version
- (older ROMs)+ (newer ROMs) format
- ----------------------------------------------------------------------
- 6.0.3 and earlier <= 0x20F N.A. binary
- 6.0.4 Roman 0x211 0x215 "
- 6.0.4 non-Roman 0x212 0x216 "
- 6.0.5 0x213 0x217 (=2.23) "
-
- 6.0.7 0x230 0x231 BCD
- J-6.0.7.1 0x230 0x231 "
- 6.0.8 0x230 0x231 "
- 6.1 non-Roman 0x240 0x241 "
- 7.0 0x700 0x700 "
- 7.0.1 Roman 0x701 0x701 "
- 7.0.1 non-Roman 0x701 0x701 "
- 7.1 0x710 0x710 "
- 7.5 0x720 0x720 "
- 7.5.1 0x750 0x750 "
-
- + Plus,SE,II,IIx,IIcx,SE/30,Classic
- ----------------------------------------------------------------------
- (Original source: Inside Macintosh Text, p. 6-9;
- Info on System 7.5 and later based on observations.)
-
- scsi (System [7.1.2?])
- (SCSI Manager ext [4.3])
- gestaltSCSI &AT07
- Returns information about the SCSI Manager.
-
- enum {
- #define gestaltSCSI 'scsi' /* SCSI Manager attributes */
- gestaltAsyncSCSI = 0, /* Supports asynchronous SCSI */
- gestaltAsyncSCSIINROM = 1, /* Async SCSI is in ROM (available for */
- /* booting) */
- gestaltSCSISlotBoot = 2}; /* ROM supports Slot-style PRAM for */
- /* SCSI boots */
- sdev (Control Strip cp [1.0])
- gestaltControlStripAttr
- Returns information about the Control Strip software.
-
- enum {
- #define gestaltControlStripAttr 'sdev'
- gestaltControlStripExists = 0, /* TRUE = control strip is */
- /* installed */
- gestaltControlStripVersionFixed = 1, /* version of Control Strip */
- /* installs 'csvr' selector */
- /* instead of 'sdvr' &AS11 */
- gestaltControlStripUserFont = 2, /* supports user-selectable */
- /* font/size &AS20 */
- gestaltControlStripUserHotKey = 3};/* support user-selectable hot */
- /* key to show/hide the */
- /* window &AS20 */
-
- NOTE:
- A file 'IsControlStrip.c' included with the Apple Guide Authoring Kit
- defines this selector as:
- #define gestaltStatusBarAttr 'sdev'
- #define gestaltStatusBarExists 0
- (Rene Ros)
-
- sdvr (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSDPStandardDirectoryVersion
- Returns the SDP Standard Directory version as INTEGER. Returns zero if
- not present and available.
-
- #define gestaltSDPStandardDirectoryVersion 'sdvr'
- /* SDP Standard Directory version */
-
- WARNING:
- The same selector code is used by the Control Strip 1.0 control panel.
- See the gestaltControlStripVersion ('csvr') selector entry above.
-
- ser (System [6.0.8?])
- gestaltSerialAttr
- Returns information about the serial hardware of the machine.
-
- enum {
- #define gestaltSerialAttr 'ser ' /* serial hardware attributes */
- gestaltGPIaToDCDa = 0,
- gestaltGPIaToRTxCa = 1,
- gestaltGPIaToDCDb = 2};
-
- slmp (Shared Library Manager? ext [2.0])
- gestaltASLMPPC &AS17
-
- NOTE:
- See the gestaltASLM68K ('aslm') entry for more information.
-
- slot (System [6.0.4, 6.0.5, discontinued])
- gestaltSlotAttr
- Returns information about the Slot Manager.
-
- enum {
- #define gestaltSlotAttr 'slot' /* Slot Mgr attributes */
- gestaltSlotMgrExists = 0,
- gestaltNuBusPresent = 1,
- gestaltSESlotPresent = 2,
- gestaltSE30SlotPresent = 3,
- gestaltPortableSlotPresent = 4};
-
- slt1 (System [6.0.4, 6.0.5, discontinued])
- gestaltFirstSlotNumber
- Returns first slot number.
-
- #define gestaltFirstSlotNumber 'slt1' /* First Slot number */
-
- sltc (System [6.0.8?])
- gestaltNuBusConnectors
- Returns information about the NuBus slot connector locations. The
- value returned is a bitmap. If bits 9 to E are set, there are six
- slots present with locations 9 to E.
-
- #define gestaltNuBusConnectors 'sltc' /* NuBus connector bitmap */
-
- NOTE:
- This selector does not return information about the PDS slot (with
- or without NuBus adapter). Also, it is unknown if this selector also
- includes slot 0x8 which was added with the Power Macintosh 8100/110.
- (John Mancino)
-
- snd (System [6.0.4])
- gestaltSoundAttr
- Returns information about the sound capabilities of the machine.
-
- enum {
- #define gestaltSoundAttr 'snd ' /* sound attributes */
- gestaltStereoCapability = 0, /* can play stereo sounds */
- gestaltStereoMixing = 1, /* mixes channels into single */
- /* signal */
- gestaltSoundReserved = 2, /* Sound Manager 3.1? */
- gestaltSoundIOMgrPresent = 3, /* new sound input routines avail.*/
- gestaltBuiltInSoundInput = 4, /* built-in sound input device */
- /* available */
- gestaltHasSoundInputDevice = 5, /* some sound input device avail. */
- gestaltPlayAndRecord = 6, /* built-in hardware can play and */
- /* record simultaneously */
- /* &AS03/AS04 */
- gestalt16BitSoundIO = 7, /* sound hardware can play and */
- /* record 16-bit samples &AS04 */
- gestaltStereoInput = 8, /* sound hardware can record */
- /* stereo &AS04 */
- gestaltLineLevelInput = 9, /* sound input port requires line */
- /* level &AS04 */
- gestaltSndPlayDoubleBuffer = 10, /* play from disk available &AS04 */
- gestaltMultiChannels = 11, /* multiple channel support */
- /* &AS03/AS04 */
- gestalt16BitAudioSupport = 12}; /* 16 bit audio data supported */
- /* &AS04 */
-
- NOTES:
- Bit 7 through 12 are not defined for versions of the Sound Manager
- prior to version 3.0.
-
- With the Enhanced Sound Manager (version 2) you have both multi-
- channel and play-from-disk capability if the Apple Sound Chip is
- available. But the gestaltSndPlayDoubleBuffer and gestaltMultiChannels
- bits are not set. Test for the gestaltHasASC bit of the
- gestaltHardwareAttr selector. &AD06/AD20
- A later Technical Note retracts this info, and says it is not safe to
- assume both functions if the gestaltHasASC bit is set with the
- gestaltHardwareAttr selector! &AT01
-
- snhw (System [7.5])
- (Sound Manager ext [3.0])
- gestaltSoundHardware
- Returns type of hardware used for sound?
-
- enum {
- #define gestaltSoundHardware 'snhw' /* Sound Hardware */
- gestaltASC = 'asc ', /* ASC */
- gestaltAwacs? = 'awac', /* returned on PowerMac */
- gestaltGCAwacs? = 'awgc', /* returned on PM 7200, PM 8500 */
- /* and PM 9500 with System 7.5.2 */
- gestaltClassicSound = 'clas', /* Classic Mac? */
- gestaltDSP = 'dsp ', /* DSP */
- gestaltSinger? = 'sing', /* returned on PB 540c */
- gestaltSinger2? = 'sng2', /* returned on PB 190cs & PB 5300 */
- gestaltWhitney? = 'whit'}; /* returned on Performa 5300 */
-
- NOTE:
- The SoundComponents.h header file from ETO #18 lists the following
- values, possibly also return values for this selector? (Anonymous)
-
- kClassicSubType 'clas' /* classic hardware, i.e. Mac Plus */
- kASCSubType 'asc ' /* Apple Sound Chip device */
- kDSPSubType 'dsp ' /* DSP device */
- kAwacsSubType 'awac' /* Another of Will's Audio Chips device*/
- kGCAwacsSubType 'awgc' /* Awacs audio with Grand Central DMA */
- kSingerSubType 'sing' /* Singer (via Whitney) based sound */
- kSinger2SubType 'sng2' /* Singer 2 (via Whitney) for Acme */
-
- spsl (PowerTalk ext [1.0?], part of PowerTalk)
- gestaltSMPSPSendLetterVersion
- Returns the SMP SendLetter version as INTEGER. Returns zero if not
- present and available.
-
- #define gestaltSMPSPSendLetterVersion 'spsl' /* SMP Sendletter */
- /* version */
-
- stdf (System [7.0])
- (Macintosh Easy Open cp [1.0?])
- gestaltStandardFileAttr
- Returns information about the Standard File Package.
-
- enum {
- #define gestaltStandardFileAttr 'stdf' /* Standard File attr. */
- gestaltStandardFile58 = 0, /* StandardPutFile, */
- /* StandardGetFile, */
- /* CustomPutFile and */
- /* CustomGetFile are */
- /* available. */
- gestaltStandardFileTranslationAware = 1, /* &AD03/AS04 */
- gestaltStandardFileHasColorIcons = 2, /* &AD03/AS04/AS05 */
- gestaltStandardFileUseGenericIcons = 3, /* force the LDEF to use */
- /* only the system */
- /* generic icons &AT06 */
- gestaltStandardFileHasDynamicVolumeAllocation = 4};
- /* supports more than 20 */
- /* volumes &AT06 */
-
- sysa (System [7.1.2?]) &AS04
- gestaltSysArchitecture
- Returns one of the following values, indicating the type of
- architecture on which the application is currently running.
-
- enum {
- #define gestaltSysArchitecture 'sysa' /* System Architecture type */
- gestalt68k = 1,
- gestaltPowerPC = 2};
-
- sysv (System [6.0.4]) INF
- gestaltSystemVersion
- Returns the version number of the currently active System file as BCD.
-
- #define gestaltSystemVersion 'sysv' /* System file version */
-
- NOTES:
- In addition KanjiTalk 6.0.7 (Japanese System) and other non-Roman
- versions return 0x0606. See the 'osyv' selector.
- System J-6.0.7.1 returns 0x0609
-
- System 6.0.8 returns 0x0607 because only the printer drivers were
- added. You can't determine if it is actually 6.0.8 in another way.
-
- There are some system versions (like International System 6.0.8.1 or
- 7.0.1.1) which just return the normal version number, i.e. 6.0.8 and
- 7.0.1.
-
- System 7.1.2 (for Power Macintosh) apparently returns an incorrect
- version number (0x0710) when in 68K mode with a PPC Upgrade card.
- (Rick Gansler)
-
- System 7.5 Update 1.0 makes this selector return 0x751. (Anonymous)
- System 7.5 Update 2.0 does NOT make this selector return 0x752.
- (Anonymous too)
-
- To determine the system update version, use the 'sysu' selector.
-
- Apple System Software (T-Z)
- ===========================
- This chapter lists selector codes of which the meaning is known and the
- first character of the selector code is in the T-Z range.
-
- tabl (System [6.0.4])
- gestaltSelectorTable?
- Returns a handle to the Gestalt selector table itself.
-
- #define gestaltSelectorTable? 'tabl' /* Gestalt Table address */
-
- WARNING:
- Although this information isn't officially confirmed, it is probably
- correct. But it is likely to go away in future systems.
-
- NOTE:
- The Gestalt selector table is kept in a resizable block in the system
- heap. The last item in the table is a dummy entry (INVALID), marked by
- a selector OSType(MaxLongInt). (Marco Piovanelli, he also has some
- snippet Pascal code to list all selectors)
- With System 7.5 each item in the table now contains three parts:
- the selector, an information field and a field with either a pointer
- or a value. If the information field (or only bit 0) is 1, a value is
- stored, otherwise a pointer to the gestalt function. (Eric-Paul Rebel)
- For backward compatibility this selector probably now points to a
- second table using the old format. (Rene Ros)
-
- tbtt (System [6.0.8])
- gestaltToolboxTable
- Returns the base address of the Toolbox trap table.
-
- #define gestaltToolboxTable 'tbtt' /* Toolbox trap table base */
-
- te (System [6.0.5])
- gestaltTextEditVersion
- Returns a value that indicates which version of TextEdit is present.
-
- enum {
- #define gestaltTextEditVersion 'te ' /* TextEdit version number */
- gestaltTE1 = 1, /* TextEdit in MacIIci ROM */
- gestaltTE2 = 2, /* TextEdit with 6.0.4 Script Systems on MacIIci */
- /* (Script bug fixes for MacIIci) */
- gestaltTE3 = 3, /* TextEdit with 6.0.4 Script Systems all but */
- /* MacIIci */
- gestaltTE4 = 4, /* TextEdit in System 7.0 */
- gestaltTE5 = 5, /* TextWidthHook available in TextEdit */
- gestaltTE6 = 6}; /* TextEdit in System 8.0 &AS20 */
-
- ======================================================================
- Version numbers for TextEdit
- ======================================================================
- Returned value New Features System software Hardware
- ----------------------------------------------------------------------
- gestaltUndefSelector Multistyled TE before 6.0.4 all
- gestaltTE1 6.0.4 Roman IIci
- gestaltTE2 New width 6.0.4 non-Roman IIci
- measurement hook
- Script Mgr compatible
- gestaltTE3 6.0.4 non-Roman non-IIci
- gestaltTE4 TEFeatureFlag 6.0.5 all
- gestaltTE5 Text width 7.0 all
- measurement hook
- gestaltTE6 ??? 8.0 all?
- ----------------------------------------------------------------------
- (Original source: Inside Macintosh Text, p.2-23)
-
- NOTE:
- The inline input features (also in TextEdit version 5) are also
- available with System 6.0.7 using non-Roman script systems, but there
- is no Gestalt constant that indicates this availability. &AD19
-
- teat (Macintosh Drag and Drop ext [1.0])
- gestaltTEAttr &AD05
- Returns information about the functions and capabilities of TextEdit.
-
- enum {
- gestaltTEAttr 'teat' /* TextEdit attributes */
- gestaltTEHasGetHiliteRgn = 0, /* TEGetHiliteRgn present */
- gestaltTESupportsInlineInput = 1, /* TextEdit does Inline Input */
- /* &AS20 */
- gestaltTESupportsTextObjects = 2}; /* TextEdit does Text Objects */
- /* &AS20 */
-
- tele (System [7.5])
- (Telephone Manager Extension ext [2.0?], part of Apple Telecom)
- gestaltTelephoneMgrAttr?
- Returns information about the Telephone Mgr.
-
- enum {
- #define gestaltTeleMgrAttr 'tele'
- gestaltTeleMgrPresent = 0,
- gestaltTeleMgrPowerPCSupport = 1,
- /* below installed by Telephone Mgr 2.0? &AD21 */
- gestaltTeleMgrSoundStreams = 2,
- gestaltTeleMgrAutoAnswer = 3,
- gestaltTeleMgrIndHandset = 4,
- gestaltTeleMgrSilenceDetect = 5,
- gestaltTeleMgrNewTELNewSupport = 6};
-
- term (System [7.1])
- gestaltTermMgrAttr
- Returns information about the Terminal Manager.
-
- enum {
- #define gestaltTermMgrAttr 'term' /* Terminal Mgr attributes */
- gestaltTermMgrPresent = 0, /* Terminal Mgr is present */
- gestaltTermMgrErrorString = 2}; /* &AS04 */
-
- thds (Thread Manager ext [1.1]) &AD04
- (QuickDraw GX ext [1.0?])
- (System [7.1.2?])
- gestaltThreadAttr
- Returns information about the Thread Manager.
-
- enum {
- #define gestaltThreadAttr 'thds' /* Thread Manager attributes */
- gestaltThreadsPresent = 0, /* bit true if Threads present */
- gestaltSpecificMatchSupport = 1, /* bit true if 'exact match' API */
- /* supported */
- gestaltThreadsLibraryPresent = 2, /* bit true if ThreadsLib is */
- /* present */
- gestaltSchedulerFix? = 3, /* preemptive scheduler fix */
- /* present? */
- gestalt??? = 4}; /* unknown, System 7.5.1 */
-
- NOTES:
- IM OS Utilities lists this selector as 'gestaltThreadMgrAttr'.
-
- For unknown reasons, the gestaltThreadsLibraryPresent bit is not set when
- running under PPC-native mode, on KanjiTalk (Japanese) System 7.5.
- (Laurent Humbert)
-
- tmgr (System [6.0.4])
- gestaltTimeMgrVersion
- Returns a value that indicates the version of the Time Manager.
-
- enum {
- #define gestaltTimeMgrVersion 'tmgr' /* Time Mgr version */
- gestaltStandardTimeMgr = 1, /* Standard Time Mgr */
- gestaltRevisedTimeMgr = 2, /* Revised Time Mgr */
- gestaltExtendedTimeMgr = 3}; /* Extended Time Mgr */
-
- tpad (System? [7.5?] on PowerBook 520/540?)
- Indicates precense of a trackpad? As such used in the 'IsTrackPad.c'
- file included with the Apple Guide Authoring Kit.
-
- tsma (System? [???])
- gestaltTSMgrAttr &AS14
- Returns information about the Text Services Manager.
-
- enum {
- #define gestaltTSMgrAttr 'tsma' /* Text Services Mgr attributes */
- gestaltTSMDisplayMgrAwareBit = 0; /* TSM knows about Display Mgr */
- gestaltTSMdoesTSMTEBit = 1}; /* TSM has integrated TSMTE &AS20 */
-
- tsmv (System [7.1])
- gestaltTSMgrVersion &AT05
- Returns Text Services Manager version in BCD.
-
- enum {
- #define gestaltTSMgrVersion 'tsmv' /*Text Services Mgr version */
- gestaltTSMgr2 = 0x200}; /* &AS20 */
-
- tv (System? [???])
- (Video Startup ext [1.0], part of European Video Installer)
- gestaltTVAttr &AS14
- Returns information about the TV capabilities?
-
- enum {
- #define gestaltTVAttr 'tv ' /* TV Version [huh? ed.] */
- gestaltHasTVTuner = 0, /* supports Philips FL1236F */
- /* video tuner */
- gestaltHasSoundFader = 1, /* supports Philips TEA6330 */
- /* Sound Fader chip */
- gestaltHasHWClosedCaptioning = 2, /* supports Philips SAA5252 */
- /* Closed Captioning */
- gestaltHasIRRemote = 3, /* supports CyclopsII Infra Red */
- /* Remote Control */
- gestaltHasVidDecoderScaler = 4, /* supports Philips SAA7194 */
- /* Video Decoder/Scaler */
- gestaltHasStereoDecoder = 5}; /* supports Sony SBX1637A-01 */
- /* stereo decoder */
-
- NOTE:
- A Power Macintosh 6100/66 with AV card and System 7.5.1 had both bit
- 3 and 4 set. A Quadra 605, LC475, PM 6100/60, Performa 5200 (all with
- System 7.5.x) only had bit 3 set. Where is the remote control, then?
- Selector not installed on Quadra 700 and PB Duo 210 (also System
- 7.5.1 & 7.5upd2). (John Tsombakos, Rene Ros)
- An LC630 didn't had bit 5 set, while it is supposed to have a stereo
- decoder. (Eric-Paul Rebel)
-
- ufox (Foreign File Access ext [4.0], part of Apple CD-ROM Software) &AT03
- gestaltForeignFileAccessVersion?
- Returns Foreign File Access version in BCD.
-
- #define gestaltForeignFileAccessVersion? 'ufox';
- /* Foreign File Access version */
-
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
-
- vers (System [6.0.4])
- gestaltVersion
- Returns the version of Gestalt as INTEGER.
-
- enum {
- #define gestaltVersion 'vers' /* Gestalt version */
- gestaltValueImplementedVers = 5}; /* Version implementing */
- /* GestaltValue &AD21 */
-
- NOTE:
- Usually version 1 is present. On machines with ROM version 1917
- (Quadra 840AV, PowerMacs etc.) version 4 is present.
- Version 5 is installed by System 7.5 adding support for the
- GestaltValue calls. And version 6 is installed by System 7.5.1.
- (Rene Ros, Anonymous)
-
- via1 (System [6.0.4, discontinued])
- gestaltVIA1Addr
- Returns the address of VIA 1.
-
- #define gestaltVIA1Addr 'via1' /* VIA 1 address */
-
- NOTE:
- At least on a Performa 450 (LC III) this selector and 'via2' exists for
- a short moment, until they are removed (by the system?).
- (Anthony DeRobertis)
-
- via2 (System [6.0.4, discontinued])
- gestaltVIA2Addr
- Returns the address of VIA 2.
-
- #define gestaltVIA2Addr 'via2' /* VIA 2 address */
-
- NOTE:
- At least on a Performa 450 (LC III) this selector and 'via1' exists for
- a short moment, until they are removed (by the system?).
- (Anthony DeRobertis)
-
- vm (System [6.0.4])
- gestaltVMAttr
- Returns information about virtual memory.
-
- enum {
- #define gestaltVMAttr 'vm '
- gestaltVMPresent = 0, /* set; virtual memory present */
- gestaltVMNotInstalled = 0}; /* clear; virtual memory not present */
-
- NOTE:
- Starting with Copland (System 8?) VM is always on but this selector
- will tell VM is off. A future selector allows to test if the
- microkernel is running and thus if VM is actually used. &AD10/AD22
-
- wind (System [Copland?])
- gestaltWindowMgrAttr &AD21
- Returns information about the Window Manager.
-
- enum {
- #define gestaltWindowMgrAttr 'wind'
- kSystemEightWindowMgr = 0,
- kSystemEightWindowsVersion = 8,
- kLatestWindowsVersion = 8};
-
- WARNING:
- From the Preliminary Copland Headers. May change in the future.
-
- NOTE:
- The constants indicate Copland may be called System 8. Also, is
- it 'Window Manager' or 'WindowS Manager'? :-) (Rene Ros)
-
- wma. (System [7.0])
- (Responder ext [2.0?])
- gestaltResponderAttr
- Returns information about the Workstation Management Agent a.k.a.
- Responder.
-
- enum {
- #define gestaltResponderAttr 'wma.' /* Responder attributes */
- gestaltResponderPresent = 0}; /* Responder is present */
-
- xlat (Macintosh Easy Open cp [1.0]) &AD03
- gestaltTranslationAttr
- Returns information about the Translation Manager.
-
- enum {
- #define gestaltTranslationAttr 'xlat' /* Translation Mgr attrib. */
- gestaltTranslationMgrExists = 0, /* TM present */
- gestaltTranslationMgrHintOrder = 1, /* TRUE if hint order */
- /* reversal bug is fixed */
- gestaltTranslationPPCAvail = 2, /* PPC Lib. available */
- gestaltTranslationGetPathAPIAvail = 3, /* GetFileTranslationPath & */
- /* GetPathTranslationDialog*/
- /* available */
- gestalt??? = 4}; /* by MEO 1.1 and later */
-
- xttt (System [6.0.8])
- gestaltExtToolboxTable
- Returns the base address of the second half of the Toolbox trap table
- if the table is discontiguous. If the table is contiguous, this
- selector returns zero. &AD19
-
- #define gestaltExtToolboxTable 'xttt' /* Extended Toolbox trap table*/
-
- NOTE:
- This selector may be installed but returns gestaltUnknownErr instead
- of zero when the table is contiguous? (Rene Ros)
-
- Apple Additional Software
- =========================
- This chapter lists selector codes of which the meaning is known and are
- installed by additional, non-system software, software from Apple.
-
- q3v (QuickDraw 3D ext? [1.0.2])
- gestaltQD3DVersion &AD30
- Returns the version of QuickDraw 3D as a Double BCD.
-
- #define gestaltQD3DVersion 'q3v '
-
- NOTE:
- Selector was not defined with documentation, but version 1.0.3 was
- seen to install this selector with a response value similair to
- its version.
-
- arb (Serial Port Arbitrator ext [1.0], part of Apple Remote Access)
- gestaltArbitorAttr &AD02
- Returns information about the Serial Port Arbitration.
-
- enum {
- #define gestaltArbitorAttr 'arb ' /* Serial Port Arbitration */
- /* attributes */
- gestaltSerialArbitrationExists = 0}; /* Serial Port Arbitration */
- /* installed */
-
- calb (OpenDoc? [???])
- gestaltCALibVersion
- Returns the version of the CA Library as BCD?
-
- #define gestaltCALibVersion 'calb';
- #define CALIB_VERSION_1 ((short)0x0100)
-
- cltn (QuickDraw GX [1.0])
- gestaltCollectionMgrVersion
- Returns the version of the Collection Manager as NumVersion.
-
- #define gestaltCollectionMgrVersion 'cltn' /* Collection Mgr version*/
-
- NOTE:
- The Collection Manager is a set of routines for maintaining tagged
- collections of data; GX uses it to support the "tags" that you can
- attach to GX objects, for holding special data, including
- user-defined data. (Lawrence D'Oliveiro)
-
- gc24 (8*24 GC cp [???])
- gestaltGC24? &M07
- Returns the version of the 8*24 GC software for the Macintosh
- Display Card 8*24 GC as BCD?
-
- #define gestaltGC24? 'gc24'
-
- NOTE:
- This selector is also installed when no card is available. A value
- returned when no card is installed is 0xFFFF D8EB.
-
- gfxa (QuickDraw GX [1.0])
- gestaltGraphicsAttr
- Returns information about the Graphics.
-
- enum {
- #define gestaltGraphicsAttr 'gfxa' /* graphics attributes bits */
- gestaltGraphicsIsDebugging = 0x0001,
- gestaltGraphicsIsLoaded = 0x0002,
- gestaltGraphicsIsPowerPC = 0x0004};
-
- NOTE: Not bit values but bit masks? Use AND?
-
- grfx (QuickDraw GX ext [1.0])
- gestaltGraphicsVersion
- Returns the version of the Graphics as ???.
-
- enum {
- #define gestaltGraphicsVersion 'grfx' /* Gestalt version selector */
- gestaltCurrentGraphicsVersion = 0x00010000}; /* supposed value */
- /* returned */
-
- kids (At Ease [1.0])
- kAtEaseGestalt
- Returns a handle to a structure holding information about At Ease.
-
- The following code was published by Apple &AT06:
-
- #define kAtEaseGestalt 'kids'
- typedef struct {
- short giVersion; /* structure version */
- short giIsActive; /* true if at ease is currently running */
- short giAutoCreateAlias; /* if true then auto create alias */
- short giRequestFloppy; /* if true then request floppy on new
- saves */
- short giStacksAreApps; /* if true then HyperCard stacks are shown
- with applications */
- FSSpec giItemsLocation; /* location of the At Ease Items folder */
- {more version 2 fields???}
- } GestaltRec, *GestaltRecPtr, **GestaltRecHand;
-
- mess (QuickDraw GX [1.0])
- gestaltMessageMgrVersion
- Returns the version of the Message Manager as ???.
-
- #define gestaltMessageMgrVersion 'mess' /* Message Mgr version */
-
- NOTE:
- The Message Manager is an implementation of object-oriented-style
- message passing within an inheritance hierarchy, that can be used from
- non-OO languages.
- It is used by the GX printing system, to allow the customization of
- printing behaviour by letting applications (and developers of printing
- extensions) intercept messages sent to the printer driver.
- (Lawrence D'Oliveiro)
-
- mtlk (QuickTime Conferencing ext? [1.0?])
- gestaltQuickTimeConferencing
- Returns the version of QuickTime Conferencing as NumVersion.
-
- #define gestaltQuickTimeConferencing 'mtlk'
-
- mtv2 (Video Player app [???])
- (Video Startup ext [1.0], part of European Video Installer)
- gestaltTV &AD16
- "Indicates whether the Video Player app is present."
-
- otan (??? [???])
- gestaltOpenTpt &AS18
- Returns information about the Open Transport software.
-
- enum {
- #define gestaltOpenTpt 'otan'
- gestaltOpenTptPresent = 0x00000001,
- gestaltOpenTptLoaded = 0x00000002,
- gestaltOpenTptAppleTalkPresent = 0x00000004,
- gestaltOpenTptAppleTalkLoaded = 0x00000008,
- gestaltOpenTptTCPPresent = 0x00000010,
- gestaltOpenTptTCPLoaded = 0x00000020,
- gestaltOpenTptNetwarePresent = 0x00000040,
- gestaltOpenTptNetwareLoaded = 0x00000080};
-
- NOTE:
- Contrary to the 'ot ' selector this one is really installed by
- Open Transport.
-
- pmgr (QuickDraw GX [1.0])
- gestaltGXPrintingMgrVersion
- Returns the version of the QuickDraw GX Printing Manager as ???.
-
- #define gestaltGXPrintingMgrVersion 'pmgr' /* QD GX Printing Mgr */
- /* version */
-
- NOTE:
- The QuickDraw GX documentation lists this selector incorrectly as
- 'gestaltPrintingMgrVersion'. (Ken Prehoda)
-
- q3vc (QuickDraw 3D ??? [???])
- gestaltQD3DViewer
- Returns information about the QuickDraw 3D Viewer.
-
- enum {
- #define gestaltQD3DViewer 'q3vc'
- gestaltQD3DViewerNotPresent = 0,
- gestaltQD3DViewerAvailable = 1};
-
- qd3d (QuickDraw 3D ext? [1.0?])
- gestaltQD3D
- Returns if QuickDraw 3D is installed or not (no attribute bits?).
-
- enum {
- #define gestaltQD3D 'qd3d'
- gestaltQD3DNotPresent = 0,
- gestaltQD3DAvailable = 1};
-
- WARNING:
- Info from QuickDraw 3D Alpha 2 headers, may change before going
- final! (Anonymous)
-
- NOTE:
- Is there a bug with the selector function for QD 3D 1.0b1c5? Whenever
- the 'qd3d' selector is used on a PM 6100/66 (System 7.5.1) crashes
- with a 'PowerPC illegal instruction'. This is when using the Gestalt
- dcmd in Macsbug or any of the Gestalt utilities.
- (found by John Mancino and Rene Ros)
-
- qdgx (QuickDraw GX [1.0])
- gestaltGXVersion
- Returns the version of QuickDraw GX as ???.
-
- #define gestaltGXVersion 'qdgx' /* QuickDraw GX version */
-
- NOTE:
- Both the values 0x0100 8000 and 0x0001 0001 were observed.
-
- srta (Speech Recognition ext [1.2.1?])
- gestaltSpeechRecognitionAttr
- Returns information about the Speech Recognition software.
-
- enum {
- #define gestaltSpeechRecognitionAttr 'srta'
- gestaltDesktopSpeechRecognition = 0, /* Recognition using mic. */
- gestaltTelephoneSpeechRecognition = 1}; /* FUTURE */
-
- NOTE:
- The Speech Recognition (1.2.1) only works on AV and PPC Macs, but the
- selector is installed on all machines and the response value will
- indicate the speech recognition is available. (Rene Ros)
-
- srtb (Speech Recognition ext [1.2.1?])
- gestaltSpeechRecognitionVersion
- Returns the version of the Speech Recognition software as BCD.
-
- #define gestaltSpeechRecognitionVersion 'srtb'
-
- NOTE:
- The Speech Recognition (1.2.1) only works on AV and PPC Macs, but the
- selector is installed on all machines and its presence will indicate
- the speech recognition is available. (Rene Ros)
-
- strm (Remote Access Aliases [1.0], part of Apple Remote Access)
- gestaltRemoteAccessAttr &AD02
-
- enum {
- #define gestaltRemoteAccessAttr 'strm' /* Remote Access attributes */
- gestaltRemoteAccessExists = 0, /* ARA Connection Interface is */
- /* available */
- gestaltRemoteAccessCallOnly = 1, /* checks for ARA client &AD15 */
- gestaltRemoteAccessMPServer = 2, /* checks for ARA multi-port */
- /* server &AD15 */
- gestaltRemoteAccessVers2 = 3}; /* checks for ARA 2.0 features */
- /* &AD15 */
-
- tmTE (Inline Extension ext [1.0], part of KanjiTalk7)
- gestaltTSMTEAttr &AS07
- Returns information about the Text Services Manager for TextEdit.
-
- enum {
- #define gestaltTSMTEAttr 'tmTE' /* TSM for TE attributes */
- gestaltTSMTEPresent = 0, /* TSM for TE is present */
- gestaltTSMTE = gestaltTSMTEPresent};/* old name */
-
- tmTV (Inline Extension ext [1.0], part of KanjiTalk7)
- gestaltTSMTEVersion &AS07
- Returns the version of the Text Services Manager for TextEdit as BCD.
-
- enum {
- #define gestaltTSMTEVersion 'tmTV' /* TSM for TE version */
- gestaltTSMTE1 = 0x100, /* TSM for TE version 1.0 */
- gestaltTSMTE2 = 0x200}; /* TSM for TE version 2.0 &AS20 */
-
- ttsc (Text-To-Speech Manager ext [1.0?])
- gestaltSpeechAttr
- Returns information about the Speech Manager.
-
- enum {
- #define gestaltSpeechAttr 'ttsc' /* Text-To-Speech Manager attrib. */
- gestaltSpeechMgrPresent = 0, /* bit true if Speech Mgr present */
- gestaltSpeechHasPPCGlue = 1}; /* Speech Mgr has native PPC glue */
-
- NOTE:
- With System 7.5.1 on a PowerBook Duo 210 this selector had both
- bits set indicating the PPC Glue is available, while it is not.
- (Rene Ros)
-
- unic (System [Copland?])
- gestaltUnicodeFeatures &AD21
- Returns information about Unicode.
-
- enum {
- #define gestaltUnicodeFeatures 'unic'
- gestaltUnicodeConverterPresent = 0,
- gestaltUnicodeConverterMask = 1L << gestaltUnicodeConverterPresent};
-
- WARNING:
- From the Preliminary Copland Headers. May change in the future.
-
- ws 1 (WorldScript I ext [7.1?])
- gestaltWorldScriptIVersion?
- Returns version of WorldScript I software as BCD.
-
- #define gestaltWorldScriptIVersion? 'ws 1'
-
- XTND (??? [???])
- gestaltXTNDAttr &AS10
- Returns information about XTND Manager?
-
- enum {
- #define gestaltXTNDAttr 'XTND'
- gestaltPPCXTNDPresent = 1};
-
- NOTE:
- Is used in some code to check if XTND engine is present. However it is
- unknown when it is installed, so supposedly it is meant for future
- use. Like a built-in XTND engine in the System Software? When the
- selector is installed all operations are dispatched through trap
- _XTNDMgr (0xABF4) otherwise the library provides the code.
- (Marco Piovanelli)
-
- Third Parties Software
- ======================
- This chapter lists selector codes of which the meaning is known and are
- installed by Third Parties software.
-
- !SYM (Symbionts ext [1.0] by B. Kevin Hardman)
- gestaltSymbiontsTable
- Returns a pointer to a structure containing the size of the System
- Heap before and after loading the INITs.
-
- #define gestaltSymbiontsTable '!SYM' /* Symbionts address */
-
- ADfd (AfterDark [2.0?] by Berkeley Systems, Inc.)
- gestaltAfterDarkFolder &M05
- Returns a pointer to a procedure that gives the DirID and vRefNum of
- the 'After Dark Files' folder.
-
- #define gestaltAfterDarkFolder 'ADfd'
-
- NOTE:
- See for more information the AfterDark Gestalt header file. It
- is available by sending email to
- gestalt-selectors-list-request@bio.vu.nl using the command
- 'archive get src/AfterDarkGestalt.h'
- Or by emailing to Berkeley Systems Mac Tech Support at
- brklysystm@aol.com and ask them for the AfterDarkGestalt.h file.
-
- ADrk (AfterDark [2.0] by Berkeley Systems, Inc.)
- gestaltAfterDarkAttr &M05
- Returns a longword bitmask containing public information about
- After Dark.
-
- enum {
- gestaltAfterDarkAttr = 'ADrk'; /* After Dark states */
- eSystemIQActive = 0, /* SystemIQ activity monitor active */
- eSoundActive = 1, /* AD has allocated a sound channel */
- eADAcquiringPassword = 2}; /* After Dark has its password dialog up */
-
- NOTE:
- See for more information the AfterDark Gestalt header file. It
- is available by sending email to
- gestalt-selectors-list-request@bio.vu.nl using the command
- 'archive get src/AfterDarkGestalt.h'
- Or by emailing to Berkeley Systems Mac Tech Support at
- brklysystm@aol.com and ask them for the AfterDarkGestalt.h file.
-
- AlaC (A La Carte ext [1.1?] by Denali Software Development)
- gestaltALaCarte?
- Returns the address of the A La Carte INIT global data. The structure
- of the data is proprietary. The existence of the 'AlaC' selector
- indicates that the A La Carte INIT is loaded.
-
- #define gestaltALaCarte? 'AlaC'
-
- ApoL (Apollo ext [1.0] by Jeremy Roussak)
- gestaltApolloTable
- Returns a handle to an instance of a structure.
-
- #define gestaltApolloTable 'ApoL' /* Apollo address */
-
- NOTE:
- See for more information the Programmers' Information chapter in the
- Apollo documentation. (Jeremy Roussak)
-
- ASHI (Arashi app [???] by Juri Munkki)
- ???
- Returns information about the presence of Arashi by returning one (1)
- if loaded, and zero (0) when removed.
-
- AuBu (AutoBuild ext [1.0] by Rene G.A. Ros)
- gestaltAutoBuildVersion
- Returns the version of AutoBuild as NumVersion.
-
- #define gestaltAutoBuildVersion 'AuBu' /* AutoBuild version */
-
- NOTE: The returned version is obtained from 'vers' resource ID# 1.
-
- BBlk (Basic Black cp [1.3], by Mason L. Bliss)
- gestaltBasicBlackAddr
- Returns the address of Basic Black's patch globals.
-
- #define gestaltBasicBlackAddr 'BBlk' /* Basic Black address */
-
- NOTE:
- See documentation included with Basic Black for more information.
-
- BIFF (QM Biff ext [1.0] by Patrick C. Beard)
- ???
- Determines if there is mail (QuickMail). The response long word is 1
- if you have mail, and 0 if you don't.
-
- Cafe (Coffee Break appl [1.0] by Thomas Reed)
- gestaltCoffeeBreakAddr?
- Returns a pointer to a code resource owned by Coffee Break.
- Details are private.
-
- #define gestaltCoffeeBreakAddr? 'Cafe'
-
- CHSR (ChooserUser cp [1.0b4] by Flux Software)
- Returned response is private.
-
- CKI3 (AETracker cp [3.0] by C.K. Haun)
- kAETrackerGestalt
- This selector returns a pointer to the external interface routine for
- AETracker, details of which are in the AETracker interface guide.
- (C.K. Haun)
-
- #define kAETrackerGestalt 'CKI3' /* AETracker address */
-
- CsWT (Desktop Strip cp [1.0b1] by Sigurdur Asgeirsson)
- gestaltDesktopStripAttr?
- Returns information about the installed Desktop Strip software.
-
- enum {
- #define gestaltDesktopStripAttr? 'CsWT'
- gestaltDesktopStripPresent? = 0};
-
- dBgP (DBugR cp [1.0?] by Alessandro Levi Montalcini)
- ???
- Returns a pointer to a data structure with the preferences,
- identical to the data in the PREF resource, for which a template
- is included.
-
- NOTE: The d is actually the option-d character (0xB6).
-
- EagL (Eagle ext [1.4], part of Apollo 1.1 by Jeremy Roussak)
- gestaltEagleAttr?
- Returns information about the state of the Eagle background
- application.
-
- enum {
- #define gestaltEagleAttr? 'EagL' /* Eagle attributes */
- gestaltEaglePPCReady? = 0}; /* Eagle can accept next PPC */
-
- FPUE (SoftwareFPU cp [3.0?] by John Neil & Associates) &M06
- gestaltSoftwareFPUAddr?
- Detects presence of SoftwareFPU.
- If the result of the Gestalt call is noErr, then SoftwareFPU is
- installed, and the 68881 FPU reported by the gestaltFPUType selector
- is an emulated FPU. The value returned in the response is private and
- should be ignored.
-
- #define gestaltSoftwareFPUAddr? 'FPUE'
-
- FrcP (Decor cp [1.0] by Francois Pottier)
- gestaltDecorAddr
- Returns a pointer to a structure which can be read or changed, and
- enables programmers to change the picture on the desktop.
-
- #define gestaltDecorAddr 'FrcP' /* Decor address */
-
- NOTES:
- See for more information on how to use this structure the
- documentation included with Decor 1.0 or later.
-
- The c is actually the option-c character (0x8D).
-
- Frs1 (MegaDial cp [1.0] by Cypress Research)
- gestaltMegaDialAttr?
- Returns private information about MegaDial.
-
- #define gestaltMegaDialAttr? 'Frs1'
-
- FrsH (MegaDial cp [1.0] by Cypress Research)
- gestaltMegaDialAddr?
- Returns a pointer to a private function.
-
- #define gestaltMegaDialAddr? 'FrsH'
-
- FWRT (FullWrite app [2.0] by Akimbo Systems)
- gestaltFullWriteInfo
- Returns a handle to a FullWrite callbacks data structure when
- FullWrite is currently running. If it is not running 0 (zero) is
- returned.
-
- #define gestaltFullWriteInfo 'FWRT'
-
- NOTE:
- See for more information the FullWrite Extension SDK (For more
- information contact Akimbo Systems by email at FullWrite@akimbo.com)
-
- Gast (Gestalt! appl [2.9.2] by Roland Mansson)
- gestaltGestaltVersion
- Returns the version of the application as NumVersion.
- GestaltValue is removed when application quits. Just for fun.
- (Roland Mansson)
-
- #define gestaltGestaltVersion 'Gast' /* Gestalt! version */
-
- NOTE: The a is actually the option-u/a character (0x8A).
-
- GTLK (GestaltTalk code by Brigham Stevens, Apple Computer DTS)
- ???
- Snippet code, see documentation.
-
- GWat (GestaltWatch ext [1.0] by Scot Bronson)
- ???
- Returns pointer to structure where collected information is stored.
-
- NOTE: In development, not yet available.
-
- ICTE (ICeTEe ext [1.1], part of Internet Config
- by Quinn "The Eskimo!" and Peter N. Lewis)
- gestaltInternetConfigTEAddr?
- Returns the address of a record which is documented in the
- IC Programmer's Kit.
-
- #define gestaltInternetConfigTEAddr? 'ICTE'
-
- idle (IdleTime INIT [1.0] by UserLand Software)
- gestaltIdleTime?
- Returns the number of clock ticks since the last keystroke, disk
- insertion, mouse movement or mouse click.
-
- #define gestaltIdleTime? 'idle'
-
- IF 8 (Speak Note cp [???] by Glenn R. Howes)
- gestaltSpeechNoteAttr?
- Returns information about the installed copy of Speak Note.
-
- enum {
- #define gestaltSpeechNoteAttr? 'IF 8'
- gestaltSpeechNoteAvailable = 0};
-
- InMn (InternetMemory cp [1.0] by CircleDream Software)
- gestaltInternetMemory
- Returns information still private, until after the first release.
-
- #define gestaltInternetMemory 'InMn'
-
- JMBe (Traceroute Ethernet LAP [1.0] by Jim Browne)
- gestalt???
- Returns the address of a structure as documented in the header file
- 'RawIP.h' to allow application programs to perform Raw IP writes and
- filter all incoming IP packets.
-
- #define gestalt??? 'JMBe'
-
- Kals (Alias Assistant cp [TrashAlias 1.0] formerly TrashAlias,
- by Flux Software)
- Returned response is private.
-
- Lnch (Network Time cp [2.0] by Pete Resnick)
- (First Launch Gestalt INIT code resource, by Pete Resnick)
- gestaltFirstLaunchAttr
- Returns info on whether the _Launch trap has been called by the
- System.
-
- enum {
- #define gestaltFirstLaunchAttr 'Lnch' /* _Launch information */
- gestaltFirstLaunchDone = 0}; /* _Launch called, INIT time over */
-
- NOTE:
- Bit 0 of the response, gestaltFirstLaunchDone, indicates whether the
- _Launch trap has been called since startup of the machine. All other
- bits are reserved and currently 0. Even if not installed at INIT time,
- Network Time will install the Gestalt selector if it is not already
- there when the control panel is opened and automatically set
- bit 0 to 1.
- 68000 assembler source code is available for the INIT that installs
- the selector, and INIT resource -4048 from Network Time may be
- stolen (and renumbered as desired) and used in any INIT file as
- desired. (Pete Resnick)
-
- MFK+ (Program Switcher ext [2.0] by Michael F. Kamprath)
- Returns a pointer to private data.
-
- MOMM (Microsoft Office Manager cp [4.2.1] part of Microsoft Office [4.2.1],
- by Microsoft Corporation)
- gestaltMSOfficeMgr
- Returns a pointer to private data.
-
- #define gestaltMSOfficeMgr 'MOMM'
-
- NOTE:
- Microsoft Office Manager is a customizable control panel allowing easy
- access to Microsoft Office apps (or any other added applications,
- files, etc), setup, and help via a new system menu. Also incorporates
- the QuickSwitch feature of Command-Tabbing through current processes.
- (Terence Worley)
-
- NIPX (Novell MacIPX cp [1.0.1] by Novell Inc.)
- gestaltNovellIPXVersion
- Returns the version of MacIPX as NumVersion.
-
- #define gestaltNovellIPXVersion 'NIPX' /* MacIPX version */
-
- NOTE:
- If the selector returns an error (i.e. no such selector?) then MacIPX
- is not installed. If the selector returns 0 then MacIPX is installed
- but the driver is not open. Any other value is the version.
- (Duane Murphy)
-
- NMBT (Attention cp [0.6] by Marco Piovanelli)
- gestaltAttentionAddr
- The response value returned is a pointer to a read-only parameter
- block in the system heap.
-
- #define gestaltAttentionAddr 'NMBT' /* Attention address */
-
- NOTE: See for more detailed information the included ReadMe file.
-
- NTim (Network Time cp [2.0] by Pete Resnick)
- Returns information private to Network Time.
-
- PNfs (FileSaver [3.0], part of Norton Utilities for Macintosh)
- Returns a private structure used by various portions of the
- Norton Utilities.
-
- PPP (PPP mdev [???], part of MacPPP by Merit Network, Inc. and the
- University of Michigan)
- gestalt???
- Returns the address of the Lap globals as documented in the header
- file 'ppp.h.source'. It's an absolutely enormous struct that contains
- among other things function pointers to let you open and close MacPPP.
- (Richard Buckle)
-
- #define gestalt??? 'PPP '
-
- NOTE:
- Source code of MacPPP is available at: ftp://merit.edu/pub/ppp/mac/
-
- PWRS (PwrSwitcher cp [1.0] by David B. Lamkins)
- gestaltPwrSwitcherTable
- Returns a pointer to a private data structure (undocumented).
-
- #define gestaltPwrSwitcherTable 'PWRS' /* Power Switcher address */
-
- SAVC (AfterDark cp [2.0] by Berkeley Systems, Inc.)
- (Basic Black cp [1.3.3] by Mason L. Bliss)
- (CDU cp [1.0?] by Connectix Corp.)
- (DarkSide of the Macintosh [4.0] by Tom Dowdy)
- (PixelPlay? ??? [???] by ???)
- (ScreenDaemon ??? [1.0] by Mason L. Bliss)
- (Sleeper cp [1.1.4?] by St.Clair Software)
- gestaltScreenSaverControl &M05
- Returns a pointer to a routine of type
-
- typedef pascal OSErr (*SaverControlProcPtr) (SaverCommand command);
-
- which allows controlling the screen saver.
-
- #define gestaltScreenSaverControl 'SAVC'
-
- NOTE:
- See for more information the AfterDark Gestalt header file. It
- is available by sending email to
- gestalt-selectors-list-request@bio.vu.nl using the command
- 'archive get src/AfterDarkGestalt.h'
- Or by emailing to Berkeley Systems Mac Tech Support at
- brklysystm@aol.com and ask them for the AfterDarkGestalt.h file.
-
- SAVR (AfterDark cp [2.0] by Berkeley Systems, Inc.)
- (Arashi app [???] by Juri Munkki)
- (Basic Black cp [1.3.3] by Mason L. Bliss)
- (CDU cp [1.0?] by Connectix Corp.)
- (Coffee Break app [1.0] by Thomas Reed)
- (DarkSide of the Macintosh [4.0] by Tom Dowdy)
- (PixelPlay? ??? [???] by ???)
- (ScreenDaemon ??? [1.0] by Mason L. Bliss)
- (Sleeper cp [1.1.4?] by St.Clair Software)
- gestaltScreenSaverAttr &M05
- Returns information about the current screen saver. Defined if a
- screen saver is installed.
-
- enum {
- #define gestaltScreenSaverAttr 'SAVR' /* Screen saver attributes */
- gestaltSaverTurnedOn = 0; /* saver enabled/disabled */
- gestaltSaverAsleep = 1; /* saver currently asleep */
- gestaltSaverDemoMode = 2; /* saver sleeping in demo mode */
- gestaltSaverPasswordMode = 3; /* saver sleeping in password- */
- /* protected mode */
- gestaltAppDrawingDisabled = 4}; /* QD drawing disallowed between */
- /* module animation frames */
-
- NOTE:
- See for more information the AfterDark Gestalt header file. It
- is available by sending email to
- gestalt-selectors-list-request@bio.vu.nl using the command
- 'archive get src/AfterDarkGestalt.h'
- Or by emailing to Berkeley Systems Mac Tech Support at
- brklysystm@aol.com and ask them for the AfterDarkGestalt.h file.
-
- Thomas Reed wrote some source code (C) demonstrating how to install
- this selector. You can get a copy by sending email to
- gestalt-selectors-list-request@bio.vu.nl using the command
- 'archive get src/gestalt-savr.txt'
-
- SCom (Super Comments cp [CommentKeeper 1.0] formerly CommentKeeper,
- by Flux Software)
- Returned response is private.
-
- SDdD (Shutdown Delay cp [2.0.1] by Alessandro Levi Montalcini)
- kSDDelayCreator
- Returns a pointer to a data structure described in the documentation
- included with Shutdown Delay.
-
- #define kSDDelayCreator 'SDdD'
-
- NOTE: The d is actually the option-shift v character (0xD7).
-
- sDmn (ScreenDaemon ext [1.0] by Mason L. Bliss)
- gestaltScreenDaemonAddr
- Returns the address of ScreenDaemon's patch globals.
-
- #define gestaltScreenDaemonAddr 'sDmn' /* ScreenDaemon address */
-
- SHCM (Shared Code Manager ext [1.0] by Eric Schlegel of Microsoft Corp.)
- gestalt???
- Returns a pointer to an undocumented entrypoint into the Shared Code
- Manager.
-
- #define gestalt??? 'SHCM'
-
- NOTE:
- The Shared Code Manager (1991) is a simple DLL mechanism that is
- currently used by Microsoft's Mac OLE 1.0 (Object Linking & Embedding)
- and the applications that use OLE 1.0. (Eric Schlegel)
-
- SKey (SmartKeys cp [OneSpace INIT] formerly OneSpace INIT,
- by Flux Software)
- Returned response is private.
-
- SLip (StuffIt SpaceSaver ext [1.0?] by Aladdin Systems, Inc.)
- gestaltStuffItSpaceSaverAddr
- Returns the address of the SpaceSaver "command module" which allows
- developers to access all the functions of SpaceSaver.
- (Leonard Rosenthol)
-
- #define gestaltStuffItSpaceSaverAddr 'SLip'
-
- SnLv (??? [???])
- kGestaltLevelMeter
- Defined in the SoundLevel.c source file, distributed with the
- SoundLevel sample code.
-
- #define kGestaltLevelMeter 'SnLv'
-
- SPAL (SpeakAlert ext [1.0] by Brian Stern)
- gestaltSpeakAlert
- Details are private to SpeakAlert.
-
- #define gestaltSpeakAlert 'SPAL'
-
- SWVE (SimpleWave ext [1.0b1] by Rene G.A. Ros)
- gestaltSimpleWaveTable
- Returns a pointer to an INITGestalt structure.
-
- #define gestaltSimpleWaveTable 'SWVE'
-
- TExT (FileTyper Menu cp [none], part of FileTyper by Daniel Azuma)
- gestaltTyperMenuAttr
- Returns information about the FileTyper Menu's operation.
-
- enum {
- #define gestaltTyperMenuAttr 'TExT'
- gestalt??? = 0}; /* TRUE = NO item added to Finder's File menu */
-
- WARNING:
- No currently released version of FileTyper Menu (up to and including
- 4.1.1) installs this selector, but future versions may. Check for the
- existence of this selector first, if you use it. (Daniel Azuma)
-
- TMON (TMON Pro [3.0] by ICOM Simulations, Inc.)
- ???
- The value returned is a pointer to a Monitor information block. &M04
- (Scott Bronson)
-
- Typ4 (FileTyper Menu cp [4.1.1], part of FileTyper by Daniel Azuma)
- gestaltTyperMenuPriv
- Returns private information, the existence of this selector indicates
- FileTyper Menu is installed.
-
- #define gestaltTyperMenuPriv 'Typ4'
-
- NOTE:
- Third parties can determine if FileTyper Menu is installed by
- checking for the existence of this selector. However, the actual value
- returned is private and subject to change. (Daniel Azuma)
-
- UMAM (Authentication Manager cp [1.0.7] by Robert John Churchill of the
- University of Michigan)
- gestaltAuthManVersion
- Returns the version of the Authentication Manager as Double BCD.
-
- #define gestaltAuthManVersion 'UMAM'
-
- YeHa (SpeedyFinder7 cp [1.5.4?] by Victor Tan)
- ???
- Returns a pointer to a private data structure (undocumented).
-
- NOTE:
- The structure to which the Gestalt selector refers changes almost
- invariably from version to version of SF7. Should someone work out
- parts of the structure of the selector keep in mind that it will
- almost certainly change in the next minor release and definitely with
- the next major release. (Victor Tan)
-
- Unknown Codes
- =============
- The following sections list selector codes of which the meaning is unknown.
-
- Unknown Codes Apple Software
- ----------------------------
- (OSType) 7
- (System [6.0.4])
- Returns (long)'carl' and a result code of noErr.
-
- (OSType) 13
- (System [6.0.4])
- Returns (long)'bbmc' and a result code of noErr.
-
- 3615 (Express Modem cp [1.0], part of Express Modem Software)
- a pc (PC Setup? cp [1.0?], part of Quadra 610-DOS software)
- admn (AppleShare Admin appl [3.0])
- gestaltASAdminAttr?
-
- enum {
- #define gestaltASAdminAttr? 'admn'
- gestaltASAdminPresent? = 0};
-
- ag_e (7.0/7.1 Apple Guide Enabler ext [???] part of Apple Guide 2.0)
- gestaltAppleGuideEnablerAttr?
- Returns information about the Apple Guide Enabler?
-
- enum {
- #define gestaltAppleGuideEnablerAttr? 'ag_e'
- gestaltAppleGuideEnablerPresent? = 0};
-
- AgVU (Agent VU ext [2.0?], part of Virtual User)
- aint (System? [7.1.1?])
-
- NOTES:
- Returns 2 on a C660AV and Q840AV.
-
- This selector may be installed but returns gestaltUnknownErr instead
- of zero. (Rene Ros)
-
- apml (PowerTalk Manager ext [1.0?], part of PowerTalk)
- Bit 0 and 31 set.
-
- asps (AppleShare Print Server appl [3.0])
- gestaltASPrintServerAttr?
-
- enum {
- #define gestaltASPrintServerAttr? 'asps'
- gestaltASPrintServerPresent? = 0};
-
- AtEa (At Ease Startup [2.0?], part of At Ease for Workgroups)
- ATI (??? [???])
- ATR (Type Reunion ext [1.0?] by Adobe Systems Inc.)
- bART (MacCheck app [1.0])
- BaRT (MacCheck app [1.0])
- bast (Launcher cp [1.0?], part of System 7.0.1P and 7.1P)
- batt (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0]))
- Returns information about the PowerBook battery?
-
- The debugger name for the routine which returns the response for this
- selector is called 'GETTIMELEFT'. But in what units? And what time?
- I've only seen the value 0, 5 or 6 returned. The GDEF calls the Power
- Manager (_PMgrOp [0xA085 with D0=0x00]) to get the info but I can't
- find which function. (Rene Ros)
-
- bclk (System [7.5.2?) INF?
- gestaltBusClockSpeed?
- Returns the bus clock speed in Hz.
-
- #define gestaltBusClockSpeed? 'bclk'
-
- NOTES:
- Only on Power Macintosh, not on 68K computers?
-
- See also 'pclk' in this section.
-
- brcn (Screen? cp [1.0?] on Color Classic)
- brcN (Energy Saver cp [1.0?], part of Monitor Energy Saver)
- bugx (7.5.2 Printing Fix ext [1.0.2?])
- (System [7.5])
- (System Update ext [3.0])
- gestaltBugFixAttrsThree
- Returns information about the fixes applied.
-
- enum {
- #define gestaltBugFixAttrsThree 'bugx'
- gestalt??? = 0,
- gestalt??? = 1,
- gestalt??? = 2,
- gestalt??? = 3,
- gestalt??? = 5,
- gestalt??? = 7,
- gestaltDIXZeroSupportsBadBlocks = 9, /* &AD29 */
- gestaltOTPrintingFix? = 10}; /* OT Printing fix by */
- /* 7.5.2 Printing Fix ext */
-
- NOTE:
- The System Update reserves the 'bugx', 'bugy' and 'bugz' gestalt
- selectors to indicate which fixes are installed on a given machine.
- These are for Apple internal use only, and developers should not rely
- on these. There is no guarantee that they will be supported in future
- versions of Macintosh system software. &AT06
-
- bugy (32-bit System Enabler [1.0])
- (Hardware System Update ext [1.0])
- (MIDI Manager ext [2.0.2?])
- (Network Launch Fix ext [1.0])
- (Sound Manager ext [3.0])
- (System? [7.1?])
- (System enabler 065)
- gestaltBugFixAttrsTwo?
- Returns information about the fixes applied.
-
- enum {
- #define gestaltBugFixAttrsTwo? 'bugy'
- gestaltBugsEgretDispatchPatch? = 0, /* these correct the */
- gestaltBugsEgretTimePatch? = 1, /* system clock and */
- /* modem perf.? */
- gestalt??? = 2, /* unknown, Hardware Upd. */
- gestaltEgretTickHandlerPatch? = 3, /* see bit 0 & 1 ? */
- gestalt??? = 4, /* unknown, Hardw. Upd. */
- gestaltSCSIPatch? = 5, /* floppy drive fixed ? */
- gestalt??? = 6, /* unknown, Hardw. Upd. */
- gestalt32bitEnabler? = 7, /* 32-bit enabler avail?*/
- gestalt??? = 8, /* unknown, MIDI Mgr */
- gestalt??? = 9, /* unknown, Sound Mgr 3 */
- gestalt??? = 11, /* unknown, Hardw. Upd. */
- gestalt??? = 12, /* unknown, Hardw. Upd. */
- gestalt??? = 13, /* unknown, Hardw. Upd. */
- gestalt??? = 14, /* unknown, Hardw. Upd. */
- gestalt??? = 15, /* unknown, Hardw. Upd. */
- gestalt??? = 16, /* unknown, Hardw. Upd. */
- gestaltKeyboardPatch? = 17, /* corrects Adjustable */
- /* Kbd 'kbd ' response?*/
- gestalt??? = 18, /* unknown, Hardw. Upd. */
- gestalt??? = 19, /* unknown, ??? */
- gestalt??? = 20, /* unknown, ??? */
- gestalt??? = 21, /* unknown, ??? */
- gestalt??? = 24, /* unknown, ??? */
- gestalt??? = 25, /* unknown, ??? */
- gestalt??? = 26, /* unknown, ??? */
- gestaltNetworkLaunchFix? = 27, /* fix problem with */
- /* appl. on server */
- /* launch with 68040 */
- gestalt??? = 28, /* unknown, ??? */
- gestalt??? = 31}; /* unknown, ??? */
-
- WARNING:
- These are ALL guesses. Well not entirely, I used the ResEdit CODE
- Editor to peek into the 32-bit System Enabler, Hardware System update
- and other software. Please check if I'am right. You should be able to
- find some of the answers in the INIT resource of the Hardware Update
- and the names of the PTCH resources in version 1.0 were also useful...
-
- NOTE:
- The System Update reserves the 'bugx', 'bugy' and 'bugz' gestalt
- selectors to indicate which fixes are installed on a given machine.
- These are for Apple internal use only, and developers should not rely
- on these. There is no guarantee that they will be supported in future
- versions of Macintosh system software. &AT06
-
- bugz (System [7.0]/Tune-up ext)
- gestaltBugFixAttrs(One)?
- Returns information about the fixes applied.
-
- enum {
- #define gestaltBugFixAttrs(One)? 'bugz'
- gestaltFixPrinting = 0,
- gestaltResponderCrashFix = 1,
- gestaltResponderVersionFix = 2,
- gestaltPurgeFonts = 3,
- gestaltAliasMgrFix = 4,
- gestaltSCSIFix = 5,
- gestaltKeyboardFix = 6,
- gestaltTrueTypeFix = 7,
- gestaltFixedMicroseconds = 8,
- gestaltSaveLastSPExtra = 9,
- gestaltVMCursorTaskFix = 10,
- gestaltDietPatches = 11,
- gestaltBackgroundPrintingPatch = 12,
- gestaltNoPreferredAlertPatch = 13,
- gestaltAllocPtrPatch = 14,
- gestaltEPPCConnectionTableFix = 15,
- gestaltDAHandlerPatch = 16,
- gestaltLaunchFix = 17,
- gestaltDeathNoticePatches = 18,
- gestaltBacklightFix = 19,
- gestaltPrintDriverFix = 20,
- gestaltPMSegmentTweaks = 21,
- gestaltWDEFZeroFix = 22,
- gestaltPACKSixFix = 23,
- gestaltResolveFileIDRefFix = 24,
- gestaltDisappearingFolderFix = 25,
- gestaltPowerBookSerialFix = 26,
- gestaltPowerBookSleepFix = 27,
- gestaltPowerBookFloppyEjectFix = 28,
- gestaltPowerBookSleepFPUFix = 29,
- gestaltPowerBookRestFPUFix = 30,
- gestalt??? = 31};
-
- NOTE:
- The System Update reserves the 'bugx', 'bugy' and 'bugz' gestalt
- selectors to indicate which fixes are installed on a given machine.
- These are for Apple internal use only, and developers should not rely
- on these. There is no guarantee that they will be supported in future
- versions of Macintosh system software. &AT06
-
- cate (Catalogs Extension? ext [???], part of PowerTalk)
- Bit 0 set.
-
- CDJR (Apple Menu Options cp [1.0], part of System 7.5)
- (ExtendedAppleMenu [???] by Chris Derossi)
- cfmg (System [7.1.2 on PowerMac])
- (CFM68K ext [1.0a1], part of OpenDoc)
- cith (System? [???])
- Seen under MAE 1.0.
-
- clbv (PowerTalk ext [1.0?], part of PowerTalk)
- Bit 0 set.
-
- cmic (System? [7.5.2?])
- Returns 1 on a PM 7200/90.
-
- cnfn (??? [???])
- Checked for by the PPC Debugger Nub extension and control panel.
-
- comp (QuickDraw Font Plus ext [???], part of the KanjiTalk 7.1)
-
- NOTES:
- The name "QuickDraw Font Plus" is translated from Japanese and may be
- translated differently by Apple Computer, Inc.
-
- I think 'comp' stands for 'composite', as the INIT contains patches to
- the Font Manager needed to handle 'composite font suitcases'.
- (Marco Piovanelli)
-
- ctxm (???)
- cuda (System? [7.1.2?], on Performa 630TV)
- gestaltCudaDispatchMgrAttr?
- Returns information about the Cuda Dispatch Manager?
-
- #define gestaltCudaDispatchMgrAttr? 'cuda'
-
- Values found: 0x0002 0025 and 0x0002 0028
-
- CYP8 (MegaPhone Menu ext [1.0] by Cypress Research Corp.,
- part of Apple Telecom)
- ddsk (DropDisk app [1.0b3], formerly Mount'em app by Mike Wise and
- Chris Cotton of Apple Computer)
- Only installed if DropDisk driver is loaded. Looks like the highword
- contains the version (of driver or application?) as BCD, while the
- low-word is a mystery.
-
- NOTE:
- See also the 'mtem' selector installed by Mount'em 1.0b1 and 1.0b2.
-
- detc (???)
- diag (Automated Diagnostics ext [1.0], part of Apple Personal
- Diagnostics 1.0)
- doub (WorldScript II ext [7.2?], part of KanjiTalk7 and
- several language kits)
- gestaltDoubleByteScriptVersion?
- Returns the version of WorldScript II as BCD?
-
- #define gestaltDoubleByteScriptVersion? 'doub'
-
- NOTE:
- This selector seems to be installed by WorldScript II (the
- System 7.1 ext needed to handle double-byte scripts like Japanese,
- Korean and Traditional Chinese). Known returned value is 0x0710.
- (Marco Piovanelli)
-
- dude (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0]))
- dudi (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0]))
- EM20 (Extensions Manager cp [2.0] by Ricardo Batista)
- gestaltExtensionsManager?
- Selector only indicates presence of the Extensions Manager software?
- (Anthony DeRobertis)
-
- #define gestaltExtensionsManagerExists? 'EM20'
-
- NOTE:
- Not installed by version 3.0 which is part of System 7.5?
-
- fdbk (Speech Setup cp? [???], part of PlainTalk)
- fdrs (Finder [7.1.1?])
- Installed by Finder extension?
-
- fnda (Finder [7.1.1])
- NOTE: The a is actually the option-a character (0x8C).
-
- fnd& (Finder?, System? [7.1.2 on PowerMac?])
- NOTE: The & is actually the option-shift-a character (0xE5).
-
- fnd* (Finder [7.1.1])
- NOTE: The * is actually the shift-6 character (0xF6).
-
- fnd? (Finder [7.1.1?])
- Installed by Finder extension?
-
- fndc (Finder [7.1.1])
- fndf (Find File Extension ext [1.1.1], part of System 7.5 Update 1.0)
- Returns the type of software extending the find capabilities of the
- Finder? If the selector isn't installed the find capabilities are
- not extended or an older version of Find File is installed?
- The response is 'fndf' if Find File is installed. (Rene Ros)
-
- fndn (Finder?, System? [7.1.2 on PowerMac?])
- NOTE: The n is actually an option-n, n (0x96).
-
- FNDR (Finder [7.1.1?])
- Installed by Finder extension?
-
- fndv (Finder? [???], part of System 7.5.2)
- fndx (AliasDragger ext [1.0b1] by Leonard Rosenthol)
- (ControlDragEnabler ext [1.0] by Anthonis DeRobertis)
- (Finder Enabler [1.0] by Marco Piovanelli)
- gestaltFinderFeaturesAttr?
- By installing this selector some undocumented features of the Finder
- (starting with System 7.1 Pro) are enabled.
-
- enum {
- #define gestaltFinderFeaturesAttr? 'fndx'
- gestaltFinderControlDrag? = 0, /* if set, control dragging an */
- /* item creates an alias */
- gestaltFinderRevealOriginal? = 1}; /* if set, Reveal Original menu */
- /* item is added */
-
- NOTES:
- The x is actually an option-x (0xC5).
-
- Apperantly the Finder team implemented several features not approved
- by the 'high command'. Under normal circumstances these features are
- not available, unless the correct bit is set with the response of
- this selector. There are probably more bits defined, or already
- obsolete because the feature got implemented with later versions of
- the Finder. (Anonymous)
-
- Setting bit 1 causes a new menu item to be added to the Finder's File
- menu, just below "Find Again". The new item is "Reveal Original" and
- it instantly resolves alias files! (Marco Piovanelli)
-
- futr (ThreadsINIT ext [2.0?], part of Threads Package)
- fstn (System? [7.5.2?])
- Returns 1 on a PB 5300.
-
- gacc (System? [7.5.2?])
- gFax (Fax Extension ext [1.1?], part of Express Modem Software)
- gntz (System [7.1.2 on PowerMac])
- gpad (General Controls cp [7.5])
- gestaltGeneralControlsAddr?
- Returns the address to the long value returned by the 'gprf'
- selector to change that value. (Jon Pugh)
-
- #define gestaltGeneralControlsAddr? 'gpad'
-
- gprf (General Controls cp [7.5])
- gestaltGeneralControlsAttr?
- Returns information about the settings made in the General Controls
- control panel.
-
- enum {
- #define gestaltGeneralControlsAttr? 'gprf'
- gestaltControlGoDocuments? = 0, /* go to Documents folder */
- gestaltControlGoLast? = 1, /* go to last used folder */
- gestaltControlProtectSystem?= 2, /* Protect System folder */
- gestaltControlHideDesktop? = 3, /* Hide desktop */
- gestaltControlLauncher? = 4, /* Display Launcher on startup */
- gestaltControlWarnShutdown? = 5}; /* Warn on incorrect shutdown */
-
- HAM (Apple Menu Options cp [1.0], part of System 7.5)
- (HAM ??? [???] by Inline Design)
- harp (PowerBook cp? [7.2?])
- hcsl (Finder [7.1.1?])
- heap (System [7.1.2 on PowerMac])
- Bits 1 and 5 set.
-
- hgfd (AppleShare File Server appl [3.0])
- gestaltASFileServerAttr?
-
- enum {
- #define gestaltASFileServerAttr? 'hgfd'
- gestaltASFileServerPresent? = 0};
-
- hrad (??? [???] on PowerBook 540c with System 7.5 Update 2.0 Seed 6)
- | Returns (OSType) 'Appl', same as 'srad'? (Anonymous)
-
- HrIt (HearIt cp [1.0])
- iadj (System? [7.1.2?] with PowerTalk?)
- (Display Enabler ext, Icon relocation INIT ID#3 [1.0])
- idsp (System? [7.1?] on Macs with sound input?)
- Values found: 0xFFFF FFFF, 0x000C, 0x0000
-
- immg (??? [???] on PowerBook 520/540? and Performa 630TV)
- Value found: 0x0100 0000. Version?
-
- intD (??? [???])
-
- NOTE:
- This is a mystery selector. It isn't installed by any software, as
- far as I know, but the Finder 7.1 checks for this selector in certain
- situations. (Marco Piovanelli)
-
- irhk (IRTalk ext [1.2?])
- ???
-
- NOTE:
- Returns gestaltUnknownErr (-5550) when the extension is installed on
- a Macintosh without Infra-Red capable hardware. Or when IR software
- is disabled (AppleTalk off?). (Rene Ros)
-
- jkbd (??? (Japanese!) ext [1.0], part of KanjiTalk)
- lang (WorldScript II ? ext [7.2?], part of KanjiTalk7 and
- several language kits)
- gestaltLanguageMgrAttr
- Returns information about the Language Manager?
-
- enum {
- #define gestaltLanguageMgrAttr 'lang'
- gestaltLanguageMgr??? = 0};
-
- LASB (LaserWriter Bridge cp [2.0?], part of Network Software Installer 1.5)
- gestaltLaserWriterBridgeAddr?
-
- #define gestaltLaserWriterBridgeAddr? 'LASB'
-
- ldap (???)
- lngb (WorldScript II ? ext [7.2?], part of KanjiTalk7 and
- several language kits)
- Value found: 0x00001FFF.
-
- lstk (Speech Setup cp? [???], part of PlainTalk)
- ltma (Link Tool Manager ext [2.0?], part of Apple Remote Access 2.0)
- gestaltLinkToolVersion?
- Returns the version of the Link Tool Manager as NumVersion?
-
- #define gestaltLinkToolVersion? 'ltma'
-
- NOTE:
- The only value I've seen returned was 0x02002008, which would mean
- '2.0d8' which was not correct since the 'vers' recource said '2.0f0'.
- The value is hardcoded in the .LTM Driver resource. (Rene Ros)
-
- mash (System [7.1P?]/At Ease [1.0?])
-
- NOTE:
- The Starter cp (part of System 7.1P) and Launcher cp (part of
- System 7.5) both contain a 'mash' resource and includes a template for
- it. Can this be the same data-structure? (Rene Ros)
-
- mbox (Mailbox Extension? ext [???], part of PowerTalk?)
- gestaltMailboxVersion?
- Returns version of Mailbox software as INTEGER.
-
- #define gestaltMailboxVersion? 'mbox'
-
- MClk (Date & Time cp [7.5], part of System 7.5)
- (SuperClock! cp [4.0] by Steve Christensen)
- mfdr (At Ease [1.0])
- mjik (MenuMagic ext [1.0], part of System 7.1 Pro and 7.5)
- mtem (Mount'em app [1.0b1-1.0b2] by Mike Wise and Chris Cotton of
- Apple Computer)
- See the 'ddsk' selector installed by DropDisk 1.0b3 and later.
-
- mtv! (TV Setup cp [1.0], part of System for Macintosh TV?)
-
- NOTE:
- Not seen installed, disassembled control panel, meaning unknown.
- It's probably an address. (Rene Ros)
-
- Norm (68K DebugServicesINIT ext [2.0?])
- Pointer to callback function?
-
- NubA (Debugger INIT ext [1.0] distributed with MetroWerks CodeWarrior)
- NubD (Debugger INIT ext [1.0] distributed with MetroWerks CodeWarrior)
- NubH (Debugger INIT ext [1.0] distributed with MetroWerks CodeWarrior)
- NubV (Debugger INIT ext [1.0] distributed with MetroWerks CodeWarrior)
- octb (System? [7.5?] on PowerBook 520/540?)
- ot (??? [???])
- gestaltOpenTransportAttr?
- Returns information about the Open Transport software?
-
- enum {
- #define gestaltOpenTransportAttr? 'ot '
- gestaltOpenTransportPresent? = 0};
-
- NOTE:
- Defined with early test-versions of Open Transport? Never seen
- installed. See the 'otan' selector.
-
- otvr (Open Transport ??? [1.1?])
- gestaltOpenTransportVersion?
- Returns the version of Open Transport as ???. (Anonymous)
-
- #define gestaltOpenTransportVersion? 'otvr'
-
- pclk (System [7.5.2]) INF?
- gestaltCPUClockSpeed?
- Returns the processor clock speed in Hz.
-
- #define gestaltCPUClockSpeed? 'pclk'
-
- NOTES:
- Only on Power Macintosh, not on 68K computers?
-
- See also 'bclk' in this section.
-
- PhoN (PowerBook Setup cp [7.3.1?], PhoneINIT INIT resource)
- port (Powerbook Duo Enabler [1.0])
- (System [7.5])
- (System Enabler 111 [1.0])
- (System Enabler 121 [1.0])
- (System Enabler 131 [1.0])
- (System Enabler 201 [1.0])
- gestaltPortAttr?
- Returns information about the ports?
-
- enum {
- #define gestaltPortAttr? 'port'
- gestaltHasInternalModem? = 0?,
- gestaltHasExternalPrinter? = 1?,
- gestaltHasExternalModem? = 2?};
-
- NOTE:
- System Enabler 201 and PowerBook Duo enabler contain an GDEF resource
- which indicates bits 0, 1 and 2 can be set. (Rene Ros)
-
- ppad (Performa cp [1.1], part of System 7.1P)
- ppcv (System? [???])
- gestaltPPCVersionAttr &AS16
- Returns the version of the PPC Toolbox? Or attribute bits?
-
- #define gestaltPPCVersionAttr 'ppcv'
-
- pprf (Performa cp [1.1], part of System 7.1P)
- ptlk (Speech Setup cp? [???], part of PlainTalk)
- puir (IRTalk ext [1.2?])
- gestaltInfraRedManager?
- Returns the version of the manager for Infrared transmission? as BCD?
-
- #define gestaltInfraRedManager? 'puir'
-
- NOTE:
- Seen on PB 190cs prototype (0x0100) and PB 5300 (0x0200300). On a
- released PB 5300c it returns 0x01000200.
- (Anonymous, Rene Ros)
-
- pwtr (PowerTracer cp [1.0a2NoOpt?])
- pxtn (Desktop Printer Extension? ext [1.0])
- (QuickDraw GX? ext? [???])
- ???
- Returns the version of the ??? as NumVersion.
-
- NOTE:
- The Desktop Printer Extension included with LaserWriter 8.3 (version
- '1.0f1c2 (nodebug)') contains a resource of type 'GFUN' which looks
- very much like a selector function. The code in it checks for 'pxtn'
- and tries to return a version number. But the code 'pxtn' is never
- installed as a selector!? (Rene Ros)
-
- Remt (AutoRemounter cp [???])
- rmbg (System? [7.5.2?])
- Bits 0 and 1 set.
-
- scrf (WorldScript Power Adapter ext? [7.5?])
- serh (System? [7.1.2?])
- gestaltSerialHardware?
- Returns type of hardware used for serial I/O?
-
- enum {
- #define gestaltSerialHardware? 'serh' /* Serial Hardware */
- gestaltClassicSer? = 'Clas', /* returned on PM 8100/80 */
- gestalt??? = 'TntS'}; /* returned on PM 7200, */
- /* PM 8500 and PM 9500 */
- /* with System 7.5.2 */
-
- shal (SerialDMA ext [2.0.2?] part of 7.5.2 Printing Update [1.1])
- (System [7.1?])
- gestaltSerialHAL?
-
- #define gestaltSerialHAL? 'shal'
-
- NOTE:
- Returns 1 (Centris 660AV) and 2 (PowerMacs). The SerialDMA extension
- possibly also installs value 3.
-
- This selector may be installed but returns gestaltUnknownErr instead
- of zero. (Rene Ros)
-
- slnk (MNPLinkTool? [1.0], part of Apple Remote Access)
- sndx (Sound Manager ext [3.0]?)
- gestaltSoundMgrAttr?
-
- enum {
- #define gestaltSoundMgrAttr? 'sndx'
- gestaltSoundMgrPresent? = 0?};
-
- SNKR (StyleWriter 1200 ext ? [1.0?])
- srad (??? [???] on PowerBook 540c with System 7.5 Update 2.0 Seed 6)
- Returns (OSType) 'Appl', same as 'hrad'? (Anonymous)
-
- sysu (System Update enbl [7.5 upd 2.0s3]) INF?
- gestaltSystemUpdateVersion?
- Returns the version number of the System Update enabler as BCD.
-
- #define gestaltSystemUpdateVersion? 'sysu'
-
- NOTE:
- Appears to been dropped with Update 2.0 Seed 8, probably because the
- update is now a full System 7.5.3 upgrade. (Anonymous)
-
- thng (ThreadsINIT ext [2.0?], part of Threads Package)
- thrd (ThreadsINIT ext [2.0?], part of Threads Package)
- udsk (System [7.1.2 on PowerMac])
- udsv (System [7.1.2 on PowerMac])
- valk (System? [7.5.1? on Power Mac 5200)
- Bit 0 set.
-
- vdrc (PC Exchange? cp [1.0?])
- vmbs (System [7.0])
- gestaltVMBackingStoreRef?
- Returns the file reference number of the Virtual Memory storage file
- if VM is present.
-
- #define gestaltVMBackingStoreRef? 'vmbs'
-
- vmcl (System, VM on [7.0])
- vmem (RAM Doubler [1.0] by Connectix Corporation)
- gestaltVMExtensionMgr?
- Returns type of software used to extend the Virtual Memory Mgr?
-
- #define gestaltVMExtensionMgr? 'vmem'
- #define gestaltRAMDoubler? 'RaM2'
-
- NOTE: See 'Reports' chapter (RAMDoubler section) for more information.
-
- wnkl (System? [7.5.2?])
-
- Third Parties Software
- ----------------------
- *DC* (DepthCharge cp [???] by Maf Vosburgh)
- 5mat (???)
- Aarn (Aaron ext [1.0] by Greg Landweber)
- NOTE: See also 'Aarp', 'Aaru' and 'Copl' in this section.
-
- Aarp (Aaron ext [1.0] by Greg Landweber)
- NOTE: See also 'Aarn', 'Aaru' and 'Copl' in this section.
-
- Aaru (Aaron ext [1.0] by Greg Landweber)
- NOTE: See also 'Aarn', 'Aarp' and 'Copl' in this section.
-
- AClk (AutoClock Extension ext [1.3?] by Jean-Pierre Gachen)
- AcPC (AccessPC cp [3.0?] by Insignia Solutions)
- Version 3.0 always returns 0x8765 4321.
-
- ADex (AfterDark [2.0?] by Berkeley Systems, Inc.)
- ADii (AfterDark [2.0?] by Berkeley Systems, Inc.)
-
- NOTE:
- Not installed by AfterDark but the GDEF indicates it is able to return
- a response.
-
- ADr2 (AfterDark [2.0?] by Berkeley Systems, Inc.)
-
- NOTE:
- Not installed by AfterDark but the GDEF indicates it is able to return
- a response.
-
- ADR2 (DDExpand appl [3.7.7?] by Symantec Corp.)
- Returns an pointer to a parameter block with unknown structure. Offset
- 0x0C seems to be a pointer to code. (Anonymous 'Fig')
-
- NOTE:
- Installed by a special version of the software instead of the 'ADRC'
- selector. Perhaps a special version with limited distribution to
- software vendors for working with the Autodoubler Internal (resource)
- Compressor. (Anonymous 'Fig')
-
- See also 'ADRC'.
-
- ADRC (DDExpand appl [3.7.7?] by Symantec Corp.)
- Returns an pointer to a parameter block with unknown structure. Offset
- 0x0C seems to be a pointer to code. (Anonymous 'Fig')
-
- NOTE: See also 'ADR2'.
-
- ADTK (Talk*Control cp [???] by 2Way Computing, Inc.)
- AP00..AP06
- (RapidLock cp, RapidTrak cp or drivers? [1.1], part of RapidTrak
- software by Insignia Solutions Inc.)
- It seems these selectors are installed for each harddisk connected to
- your Macintosh. The last two bytes of the selector is the SCSI ID.
-
- AP17 (AccessPC cp [2.0?] by Insignia Solutions)
- ApWi (ApplWindows cp [2.0?] by Hiro Yamamoto)
- ASTN (Asante EN/SC ext [???] by Asante Technologies, Inc.)
- aYmm (AfterDark [2.0?] by Berkeley Systems, Inc.)
- AzNe (NameView cp [2.7?] by AStar Technologies, Inc.)
- A–Tr (Trapper ext [1.0?] by Alessandro Levi Montalcini)
- Bars (Virtual Desktop Extension ext [1.8?], part of Virtual Desktop
- by AWOL Software, Ross Brown)
- Blad (Blood cp [1.0.1?] by Alessandro Levi Montalcini)
- NOTES:
- The B is actually the option-s character (0xA7).
- The d is actually the option-d character (0xB6).
-
- bMRN (Super Boomerang cp [4.0?], part of Now Utilities by Now Software)
- cc20 (???)
- NOTE: The 'cc' are actually option-c (0x8D).
-
- CDFL (???)
- CDmn (CDMenu cp [1.0?] by Henrik Eliasson)
- CDUf (CDU cp [1.0?] by Connectix Corp.)
- CDUt (CDU cp [1.0?] by Connectix Corp.)
- cGnF (CommuniGate Notifier ext [1.0] by Stalker Software, Inc.)
- CiCN (Color ICON Mania cp [1.0] by Yosuke Suzuki)
- cLib (???)
- Copl (Aaron ext [1.0] by Greg Landweber)
- NOTE: See also 'Aarn', 'Aarp' and 'Aaru' in this section.
-
- CPPf (Power To Go cp [2.0?] by AlSoft, Inc.)
- Cut! (Desktop Shortcut cp [1.0], part of Aladdin Desktop Tools
- by Aladdin Systems
- DanS (PowerClick cp [1.0] by Daniel A. Segel)
- Day* (PowerCentral cp [1.3?] by DayStar Digital, Inc.)
- Returns 0xFFFF FFFF when no card is installed?
-
- NOTE: The * is actually the option-8 character (0xA5).
-
- Dbug (???)
- DCDt (NoDesktopCleanup cp [1.0?] by Alessandro Levi Montalcini)
- DCKc (Keys! cp [1.0] by Stefan Kurth)
- NOTE: The lowercase c is actually the control-q (Command key sign)
- character (0x11).
-
- DD37 (DiskDoubler [3.7] by Fifth Generation Systems, Inc.)
- DDAD (AutoDoubler cp [1.0?] by Symantec Corp.)
-
- NOTE: See also 'DDAE' and 'DDNF'
-
- DDAE (AutoDoubler cp [1.0?] by Symantec Corp.)
-
- NOTES:
- Installed by a special version of the software instead of the 'DDAD'
- selector. Perhaps a special version with limited distribution to
- software vendors for working with the Autodoubler Internal (resource)
- Compressor. (Anonymous 'Fig')
-
- See also 'DDAD' and 'DDNF'.
-
- DDCD (CopyDoubler cp [2.0.4?] by Symantec Corp.)
- DDJB (???)
- DDNF (AutoDoubler cp [1.0?] by Symantec Corp.)
-
- NOTE: See also 'DDAD' and 'DDAE'.
-
- DFlh (DiskFlash cp [1.0], part of ALSoft Power Utilities by ALSoft, Inc.)
- DlgV (Dialog View cp [2.11], formerly List Font cp by James W. Walker)
- See also 'LFnt'.
-
- DPin (Screen Posters ext [3.0?] by Berkley Systems)
- Dpth (DepthMaster cp [1.0] by Victor Tan)
- DBPR (DATEBOOK PRO Extension ext [2.0.1?] by Aldus Corporation, now Adobe)
- Returns data about the current reminder? GDEF is called with 'SvA4'
- selector to initialize data inside the GDEF. (Rene Ros)
-
- DWG! (Volume Menu cp [1.0] by David Gladstone, Chris Burns, Julian Harris)
- EDCN (PPPReport cp [1.0b3?] by Eric de la Musse)
- EgGP (Eagle ext [1.5?] part of Apollo [1.2?] by Jeremy Roussak)
- ESCa (Escapade cp [1.0?] by Christopher R. Wysocki)
- ESOC (Serial of Champions ext [???] by Mike Throckmorton)
- Extn (Now Startup Manager cp [4.0?], part of Now Utilities by Now Software)
- FCDV (RAMGauge cp [1.3?] by Syzygy Cult.)
-
- NOTE: The C is actually the option-shift-c character (0x82).
-
- ffEx (???)
- Fie (Icon7 ext [???] by Inline Designs)
- gestaltIcon7?
-
- fPth (FinderPaths cp? [???])
-
- NOTE: The f is actually the option-f character (0xC4).
-
- fmci (FinderMenu INIT ext [1.0], part of UserLand's Frontier Runtime
- package)
- FMnu (Now FolderMenus cp [5.0.1], part of Now Utilities by Now Software)
- FtCg (FontPatchin cp [2.0?] by Keisuke Hara)
- FUWi (OutTheWindow! ext [1.0] by Olivier Lebra)
- FW14 (FileWave Administrator ext [2.0?], part of FileWave 2.0
- by Wave Research)
- FWCP (File Tracker Controls cp [1.0] by Mark Aiken)
- fWmM (Super Boomerang cp [4.0?], part of Now Utilities by Now Software)
- GrEG (Greg's Buttons ext [3.1.4?] by Greg Landweber)
- GtOp (MenuExtend cp [1.0], part of ALSoft Power Utilities by ALSoft, Inc.)
- gV00 (PowerPort cp? [???])
- gV01 (PowerPort cp? [???])
- gV02 (PowerPort cp? [???])
- gV03 (PowerPort cp? [???])
- gV04 (PowerPort cp? [???])
- gV05 (PowerPort cp? [???])
- gV06 (PowerPort cp? [???])
- gV07 (PowerPort cp? [???])
- gV08 (PowerPort cp? [???])
- gV09 (PowerPort cp? [???])
- gV0A (PowerPort cp? [???])
- gVDI (PowerPort cp? [???])
- GVfd (???)
- GVms (???)
- GVso (Global Village Toolbox ext [2.1.4?] by Global Village Communication)
- GVsp (Global Village Toolbox ext [2.1.4?] by Global Village Communication)
- He20 (Helium cp [1.0?] by Robert L. Mathews)
- HEID (Incognito cp [1.0?] by Manuel Veloso)
- HPBG (HP Background ext [3.0?] by Hewlett-Packard Company)
- GDEF always returns value 1.
- HPKb (??? external to MacSLIP [???] by Hyde Park Software)
- HtLk (Reference Link ext [1.0] by James W. Walker)
- IACi (QuicKeys Toolbox ext [???] by ???)
- iHnd (Invisible Hand cp [1.0] by Carl Mauer)
-
- NOTE:
- Because this cp patches the _Random trap you can use this selector to
- determine its presence and refuse to continue.
-
- in++ (Inline++TSM cp [2.0?] by Hideaki Iimori)
- The response is an address to a private (??? -- some fields look like
- they may be public, but the docs are in Japanese) parameter block.
- (Marco Piovanelli)
-
- Info (Desktop SpeedBoost cp [1.0], part of Aladdin Desktop Tools
- by Aladdin Systems)
- Intj (Interjection ext [???])
- JAiN (Rival cp by Inline Designs)
- gestaltRival
-
- NOTE: The i is actually the option-u/i character (0x95).
-
- jbxC (???)
- jGnE (PageUp/Down ext [n/a] by ???)
- jsm1 (???)
- JXNM (NowMenus cp [4.0?], part of Now Utilities by Now Software)
- KBCF (Easy KEYS cp [1.5] by Kerry Clendinning)
- KBCM (Menu Choice cp [???] by Kerry Clendinning)
- kPow (???)
- KQae (KQ Apple Events ext [???], part of KeyQuencer
- by Alessandro Levi Montalcini)
- KQue (KeyQuencer cp [???], part of KeyQuencer
- by Alessandro Levi Montalcini)
- LFnt (Dialog View cp [???], formerly List Font cp by James W. Walker)
- See also 'DlgV'.
-
- LLSM (SAM Intercept ext [4.0?] by Symantec?)
-
- NOTE:
- Version 4.0 of SAM from Symantec had an improperly implemented Gestalt
- function which would cause a bus error if called. SAM 4.0 *must* be
- removed (not turned off) or upgraded to at least version 4.0.1 which
- was supposed to fix this problem. (Paul Cunningham, Teknosys, Inc.)
-
- LNCH (Talk*Control cp [???] by 2Way Computing, Inc.)
- LxRZ (Retro.SCSI? ext [2.0?], part of Retrospect by Dantz Development
- Corporation)
- (Remote? cp [2.0?], part of Retrospect by Dantz Development
- Corporation)
- MAX` (PaperPort Extension ext [2.0?], part of Visioneer PaperPort
- by Visioneer, Inc.)
- Returns pointer to private data?
-
- MAX~ (PaperPort Extension ext [2.0?], part of Visioneer PaperPort
- by Visioneer, Inc.)
- Returns information about the PaperPort software? Attribute bits?
-
- MFK7 (Super Saver cp [1.1.2?] by Michael F. Kamprath)
- Mgc! (Wizard INIT ext [1.0], part of Disk Wizard by Francois Pottier)
- MJC& (AutoMenus II cp [???] by Michael Conrad)
- MV10 (TearOFF cp [???] by Bad Boys' Software)
- MV20 (Speed Access ext [1.0?] by Connectix Corporation)
- nOAg (??? cp [1.2?], part of netOctopus by Pole Position)
- nOAv (??? cp [1.2?], part of netOctopus by Pole Position)
- Returns version as NumVersion?
-
- NCex (Now QuickFiler Extension ext [5.0.1], part of Now Utilities
- by Now Software)
- NGst (NokNok cp [1.0?])
- NkNk (NokNok cp [1.0?])
- NTFY (TeamNotify ext [2.0?] by Team Coordination Software Inc.)
- NowT (Now Toolbox ext [4.0?], part of Now Utilities by Now Software)
- NWin (Now Startup Manager cp [5.0.1], part of Now Utilities
- by Now Software)
- OLE2 (Microsoft OLE Extension ext [2.0.6?] by Microsoft Corporation)
- Pax! (PaperPort cp [2.0?], part of Visioneer PaperPort by Visioneer, Inc.)
- PAXC (PaperPort Extension ext [2.0?], part of Visioneer PaperPort
- by Visioneer, Inc.)
- Has something to do with compression?
-
- PBUf (???)
- PBUt (CDU cp [1.0?] by Connectix Corp.)
- PopF (PopupFolder cp [???] by Inline Software)
- PRT+ (PrintAid [0.9?] by James W. Walker)
- PtrP (PrintPatrol [1.0] by Randy DeRuiter and John Champion)
- QRef (QuickRef ext? [1.0] by Scott Bronson)
- QCam (QuickCamVideo ext [1.0] by Connectix Corporation)
- (QuickCamMic ext [1.0] by Connectix Corporation)
- QIC! (???)
- Rem* (???)
- ReSp (File Tracker Controls cp [1.0] by Mark Aiken)
- RO40 (??? [???] by ???)
- DiskCopy 6.0 checks for this selector.
-
- NOTE: Selector is (OSType) 0x5285 3430.
-
- RQDC (DropCheck cp [???] by Ronald B. Queloz)
- SCTR (FaxMonitor ext [1.6?], part of FAXcilitate by PSI)
- SDIT (???)
- SEcl (ScreenEclipse cp [1.0], part of ALSoft Power Utilities by
- ALSoft, Inc.)
- SFun (SF Windows [1.0] by Damon Cokenias)
- SFwd (Open-wide cp [3.0?] by James W. Walker)
- SLi2 (StuffIt SpaceSaver? ext [???] by Aladdin Systems, Inc.)
- SLIP (???)
- sMon (StuffIt SpaceSaver? ext [???] by Aladdin Systems, Inc.)
- SNIT (Snitch ext [1.0] by Mitch Jones)
- SPLO (SpigotVDIG ext [1.0] by SuperMac Technology)
- ST20 (Snap-To cp [2.0?] by Trevden Sherzell)
- STYH (StayHere! cp [2.0?] by Nobuhiro Miyatake)
- TapT (TappyType cp [2.0?] by Colin Klipsch)
- TgrX (Xmas Lights cp [1.0] by Tiger Technologies)
- Tmon (TMON Pro cp? [3.0] by ICOM Simulations)
- TRNS (Transporter ext [???], part of SAM administrator)
-
- NOTE:
- Not sure why, but calling this selector has caused many wierd
- interface problems with our application, such as scrollbars
- disappearing, and menus disabling. (Paul Cunningham, Teknosys, Inc.)
-
- TSM+ (TSM Fix ext [1.0] by Matt Slot)
- tsmH (TSMHelper ext [???]) by Donald Brown, CE Software)
- UhOh (SpeedyFinder7 Extension ext [1.5.9h], part of SpeedyFinder7
- by Victor Tan)
- UlOn (UndelineEnabler ext [2.0?], part of FontPachin package by
- Keisuke Hara)
- See also FtCg selector.
-
- URL! (CyberFinder cp [2.0] by Leonard Rosenthol and Victor Tan)
- URLf (CyberFinder cp [MacHack 1995 release to 1.1] by Leonard Rosenthol
- and Victor Tan)
-
- NOTE:
- CyberFinder 2.0 installs the selector 'URL!'.
-
- The f is actually the option-f character (0xC4).
-
- View (StuffIt Viewer Engine [???] by Aladdin Systems Inc.)
- gestaltViewerEngine
- The gestalt selector is not installed until someone (StuffIt) invokes
- the engine.
-
- vmFn (RAM Doubler [1.0] by Connectix Corporation)
- Seems to return a memory address, perhaps to a function to control
- Virtual Memory?
-
- NOTE: See 'Reports' chapter (RAMDoubler section) for more information.
-
- VrkG (Virex cp? [5.5?] by Datawatch Corp.)
- VrkS (Virex cp? [5.5?] by Datawatch Corp.)
-
- NOTE:
- Merely calling the 'VrkS' selector seems to trigger a quick scan
- feature of Virex, which is only supposed to be accessible by a hot key
- setup by the Virex control panel (or something like that). When this
- happens, a dialog is displayed asking the user to select a volume or
- folder to scan. (Paul Cunningham, Teknosys, Inc.)
-
- VrkU (Virex cp? [5.5?] by Datawatch Corp.)
- WARE (???)
- WREO (Replace Existing Options cp [???] by Jonathon Summers)
-
- NOTE: The W is actually the option-w character (0xB7).
-
- Wttf (TeachText7.0 Font ext [???] by Jonathon Summers)
-
- NOTE: The W is actually the option-w character (0xB7).
-
- XAsm (???)
- xMe0 (OptiMem cp [2.0?] by Jump Dev. Group Inc.)
-
- NOTE: The 0 is a zero (0x30).
-
- YaHu (Desktop SpeedBoost cp [1.0], part of Aladdin Desktop Tools
- by Aladdin Systems)
- YAWN (Sleeper cp [1.1.4?] by St.Clair Software)
- ygS (???)
-
- NOTES:
- The y is actually option-u/y (0xD8).
- The last byte is actually the BEL ASCII code (0x07).
-
- YoHo (Desktop SpeedBoost cp [1.0], part of Aladdin Desktop Tools)
- by Aladdin Systems)
- YuHu (Desktop Makeover cp [1.0], part of Aladdin Desktop Tools)
- by Aladdin Systems)
- *Men (OtherMenu ext [1.0] by James W. Walker)
-
- Gestalt Manager Calls
- =====================
- All standard calls to the _Gestalt or _GestaltValueDispatch trap are listed
- in this chapter.
-
- Gestalt Manager Routines
- ------------------------
- The CallSelectorFunctionProc and NewSelectorFunctionProc functions were
- listed in the GestaltEqu.h file on E.T.O. #12 CD-ROM but not yet fully
- documented.
-
- FUNCTION Gestalt (selector: OSType; VAR response: LongInt): OSErr;
- Available since System 6.0.4.
- Trap Macro
- _Gestalt (0xA1AD)
- Registers on entry D0: selector code
- Registers on exit A0: response
- D0: result code
- Result codes
- noErr 0 No error
- gestaltUnknownErr -5550 Could not obtain the response
- gestaltUndefSelectorErr -5551 Undefined selector
-
- FUNCTION NewGestalt (selector: OSType; selectorfunction: ProcPtr): OSErr
- Available since System 6.0.4.
- Trap Macro
- _NewGestalt (0xA3AD)
- Registers on entry A0: address of new selector function
- D0: selector code
- Registers on exit D0: result code
- Result codes
- noErr 0 No error
- memFullErr -108 Ran out of memory
- gestaltDupSelectorErr -5552 Selector already exists
- gestaltLocationErr -5553 Function not in system heap
-
- FUNCTION ReplaceGestalt (selector: OSType; selectorfunction: ProcPtr;
- VAR oldGestaltFunction: ProcPtr): OSErr;
- Available since System 6.0.4.
- Trap Macro
- _ReplaceGestalt (0xA5AD)
- Registers on entry A0: address of new selector function
- D0: selector code
- Registers on exit A0: address of old selector function
- D0: result code
- Result codes
- noErr 0 No error
- gestaltUndefSelectorErr -5551 Undefined selector
- gestaltLocationErr -5553 Function not in system heap
-
- Gestalt Value Routines
- ----------------------
- Please note the GestaltValue routines can be invoked through a library,
- but since System 7.5 the GestaltValue routines are also part of the OS.
- The GestaltValue routines are stack based and don't use registers.
- The GestaltValue library first checks to see if trap 0xABF1 is implemented
- (System 7.5 and later). If trap 0xABF1 is implemented, all calls to the
- library are routed to this trap, otherwise the library uses embedded code.
- Several Apple System selectors use the GestaltValueDispatch A-trap to
- install the response value starting with System 7.5.
-
- WARNING:
- The GestaltValue library distributed originally checks for the wrong trap
- (_ThreadDispatch, 0xABF2). Make sure your software doesn't crash when this
- trap is installed by the Thread Manager extension.
- (Most info about the GestaltValue functions was provided by
- Marco Piovanelli and Dave Radcliffe).
-
- FUNCTION NewGestaltValue (selector: OSType; newValue: LongInt): OSErr;
- Available as library and since System 7.5.
- Trap Macro Selector
- _GestaltValueDispatch (0xABF1) 0x0401
- Result codes
- noErr 0 No error
- unimpErr -4 Unimplemented core routine
- memFullErr -108 Ran out of memory
- (and other memory errors)
- gestaltDupSelectorErr -5552 Selector already exists
-
- FUNCTION ReplaceGestaltValue (selector: OSType;
- replacementValue: LongInt): OSErr;
- Available as library and since System 7.5.
- Trap Macro Selector
- _GestaltValueDispatch (0xABF1) 0x0402
- Result codes
- noErr 0 No error
- unimpErr -4 Unimplemented core routine
- memFullErr -108 Ran out of memory
- (and other memory errors)
- gestaltUndefSelectorErr -5551 Undefined selector
-
- FUNCTION DeleteGestaltValue (selector: OSType): OSErr; and
- FUNCTION Delete (selector: OSType): OSErr;
- Available as library and since System 7.5.
- Trap Macro Selector
- _GestaltValueDispatch (0xABF1) 0x0203
- Result codes
- noErr 0 No error
- unimpErr -4 Unimplemented core routine
- gestaltUndefSelectorErr -5551 Undefined selector
-
- Undocumented Gestalt Manager Routines
- -------------------------------------
- FUNCTION? GestaltDispatch? (???):OSErr;?
- Trap Macro
- _GestaltDispatch (0xA0AD)
- Registers on entry ???
- Registers on exit ???
- Result codes
- noErr 0 No error
- ???
-
- NOTE:
- Found in the MPW, THINK C and THINK Pascal Traps Interface file
- on 'Bookmark CD 14'.
- Available since System 6.0.4 but code will always return error -50
- (paramErr). (Lawrence D'Oliveiro, Rene Ros)
-
- FUNCTION? GetGestaltProcPtr? (selector?: OSType;
- var selectorfunction: ProcPtr): OSErr;?
- Trap Macro
- _GetGestaltProcPtr (0xA7AD)
- Registers on entry D0: selector code?
- Registers on exit ??: address of selector function
- Result codes
- noErr 0 No error
- ???
-
- NOTE:
- Found in the MPW Traps Interface file on 'Bookmark CD 14'.
- Available since System 6.0.4 but code will always return error -50
- (paramErr). (Lawrence D'Oliveiro, Rene Ros)
- I (Rene Ros) have written Pascal code to do what this system call
- probably is planned to do in the future.
-
- FUNCTION SetGestaltValue (selector: OSType; newValue: LongInt): OSErr;
- Available since System 7.5?
- Trap Macro Selector
- _GestaltValueDispatch (0xABF1) 0x0404
- Result codes
- noErr 0 No error
- ???
-
- extern pascal OSErr GetGestaltSelectors(UInt32 theCount,
- UInt32 skipCount,
- GestaltIterator *theItems);
- Available starting with Copland?
- Trap Macro Selector
- ??? ???
- Result codes
- noErr 0 No error
- ???
-
- struct GestaltIterator {
- UInt32 totalItems;
- UInt32 validItems;
- UInt32 iterationKey;
- OSType theItems[1];
- };
- typedef struct GestaltIterator GestaltIterator;
-
- Kilo-liners
- ===========
- This chapter will list very small pieces of code which are related to
- any Gestalt Routine.
-
- Direct Gestalt Calls
- --------------------
- You can use the following code to call directly the Gestalt, NewGestalt and
- ReplaceGestalt traps. In that way the (large) glue code will not be
- installed by your compiler. (Contributions by Lawrence D'Oliveiro and
- Marco Piovanelli).
-
- FUNCTION Gestalt (selector: OSType; VAR response: LongInt): OSErr;
- inline $225F, $201F, $A1AD, $2288, $3E80;
- { move.l (sp)+, a1 }
- { move.l (sp)+, d0 }
- { _Gestalt }
- { move.l a0, (a1) }
- { move.w d0, (sp) }
-
- FUNCTION NewGestalt (selector: OSType;
- gestaltFunction: ProcPtr): OSErr;
- inline $205F, $201F, $A3AD, $3E80;
- { move.l (sp)+, a0 }
- { move.l (sp)+, d0 }
- { _NewGestalt }
- { move.w d0, (sp) }
-
- FUNCTION ReplaceGestalt (selector: OSType;
- gestaltFunction: ProcPtr;
- VAR oldGestaltFunction: ProcPtr): OSErr;
- inline $225F, $205F, $201F, $A5AD, $2288, $3E80;
- { move.l (sp)+, a1 }
- { move.l (sp)+, a0 }
- { move.l (sp)+, d0 }
- { _ReplaceGestalt }
- { move.l a0, (a1) }
- { move.w d0, (sp) }
-
- Direct GestaltValue Calls
- -------------------------
- You can use the following code to call directly the NewGestaltValue,
- ReplaceGestaltValue and DeleteGestaltValue when the _GestaltValueDispatch
- trap is available. &AS04
-
- FUNCTION NewGestaltValue(selector: OSType, newValue: LongInt): OSErr;
- inline $303C, $0401, $ABF1;
-
- FUNCTION ReplaceGestaltValue(selector: OSType,
- replacementValue: LongInt): OSErr;
- inline $303C, $0402, $ABF1;
-
- FUNCTION DeleteGestaltValue(selector: OSType): OSErr;
- inline $303C, $0203, $ABF1;
-
- GestaltSelectorZero
- -------------------
- With all the selectors that are supposed to return non-zero values if
- installed, it may be helpful to have an utility routine that returns a zero
- value (instead of an error) if a selector isn't installed. It's short and
- sweet because it makes a direct call to the _Gestalt trap; of course this
- means you can't use it on systems earlier than 6.0.4.
- (Contributed by Lawrence D'Oliveiro)
-
- FUNCTION GestaltSelectorZero (Selector: OSType): LongInt;
- {returns the value of the specified Gestalt selector,}
- {or zero if unknown.}
- inline $201F, $A1AD, $6702, $91C8, $2E88;
- { move.l (sp)+, d0 }
- { _Gestalt }
- { beq.s @2 }
- { sub.l a0, a0 }
- { @2: move.l a0, (sp) }
-
- GestaltBitTest
- --------------
- The GestaltBitTest is a piece of inline assembly code which tests if the
- specified bit is set in the value from the specified Gestalt selector
- (false if the Gestalt call returns an error).
-
- Example:
- GestaltBitTest(gestaltAppleEventsAttr, gestaltAppleEventsPresent)
-
- (Contributed by Lawrence D'Oliveiro)
-
- FUNCTION GestaltBitTest(Selector: OSType; BitNr: Integer): Boolean;
- inline
- $321F, $201F, $A1AD, $6702, $91C8, $2008, $0300, $56C0, $4400, $1E80
- { move.w (sp)+, d1 }
- { move.l (sp)+, d0 }
- { _Gestalt }
- { beq.s @2 }
- { sub.l a0, a0 }
- { @2: move.l a0, d0 }
- { btst d1, d0 }
- { sne.b d0 }
- { neg.b d0 }
- { move.b d0, (sp) }
-
- Call Gestalt Function Direct
- ----------------------------
- Suppose you have just loaded an GDEF resource, or replaced one and keep the
- original around and store a pointer to it somewhere private. Suppose next,
- you want to call it to obtain a response without using yet another selector.
- Thats what the following inline code is useful for. Just pass it the
- usual selector and result parameters but also a pointer to the GDEF
- (Lock it if it's a relocatable block).
-
- FUNCTION CallGestaltDEF (selector: OSType;
- var result: LongInt;
- aRoutine: ProcPtr): OSErr;
- inline $205F, $4E90;
- { move.l (sp)+, a0 }
- { jsr (a0) }
-
- Reports
- =======
- When someone reports some findings involving several selectors and/or a
- report is too long to include with the selector entry above, that report
- is listed here. They should be as short as possible with the maximum
- amount of information.
-
- Accessing the Gestalt Manager
- -----------------------------
- (by Rene Ros)
-
- Several applications can use additional code to expand their capabilities
- and using this they may be able to access the Gestalt Manager. The software
- listed below are additional code providing access to the Gestalt Manager.
-
- Only a few locations are listed here, use the filename to search for other
- locations. Or use the known mirror sites of FTP sites.
-
- CheckGestaltFor (Neil Shulman)
- Hypercard external to access the Gestalt Manager.
-
- ftp://sumex-aim.stanford.edu/info-mac/card/check-gestalt-for-xcmd.hqx
-
- Gestalt Pro 1.1.2 (Rene G.A. Ros)
- External for 4TH Dimension Relational Database application from
- ACI/ACI US.
-
- ftp://sumex-aim.stanford.edu/info-mac/dev/a4d/ext/gestalt-pro-112.hqx
-
- Gestalt XFCN 3.2.1 (Jeff Iverson)
- Hypercard XFCN to query the Gestalt Manager.
-
- ftp://sumex-aim.stanford.edu/info-mac/card/gestalt-321.hqx
-
- GestaltExt (Andre Cavegn)
- External for 4TH Dimension Relational Database application from
- ACI/ACI US.
-
- ftp://sumex-aim.stanford.edu/info-mac/dev/a4d/ext/gestalt-ext.hqx
-
- Get Gestalt (AppleScript addition) 1.2 by Mark Alldritt
- Provides access to the Gestalt Manager for AppleScript scripts.
-
- ftp://gaea.kgs.ukans.edu/applescript/osaxen/script-tools-131-as.hqx
-
- Informant XFCN 1.0 (Jeff Iverson)
- Hypercard XFCN to query the Gestalt Manager.
-
- ftp://sumex-aim.stanford.edu/info-mac/card/information-10-xfcn-demo.hqx
-
- AppleShare File & Print Server selector codes
- ---------------------------------------------
- (by Rene Ros)
-
- The selectors are defined when the application has run. If it is still
- running (or wasn't properly quit) the response is one. When the application
- has properly quit the response is zero.
- admn AppleShare Admin
- asps AppleShare Print Server
- hgfd AppleShare File Server
- (these three are undocumented)
-
- AppleTalk
- ---------
- (by Rene Ros)
-
- With the release of the System 7 Tuner product, AppleTalk will not be
- loaded at startup, if prior to the previous shutdown AppleTalk was turned
- off in the Chooser. Under this circumstance, the 'atkv' selector is not
- available. If the 'atkv' selector is not available under System 7, this is
- an indicator that AppleTalk cannot be turned on without doing so in the
- Chooser and rebooting the system. &AT02
-
- Clock Chipped
- -------------
- (provided by Marc Schrier with additional information from Jeff Baudin and
- Mike Cohen and edited by Rene Ros)
-
- Several Macintosh computers have been observed to return a different
- machine type value (using the gestaltMachineType selector) when the
- clock speed was changed. Mainly Power Macintosh computers behave like
- this. The following tables provide an overview of these values.
-
- In addition to clock chipping a Macintosh, you can also:
- - swap a resistor in a Centris 650 to make it a Quadra 650;
- - remove jumper J18 of a Quadra 605 and it becomes a LC475.
- - install jumper J18 on a LC475 and it becomes a Quadra 605.
- - install and remove resistors and jumpers from the Wombat motherboard
- used in the Centris 650, Quadra 650 and Quadra 800 to switch between
- those three computers and two new, unreleased machines.
- - remove the LED jumper from a PM 7500 and it becomes a PM 8500.
-
- ===========================================================================
- Machine Type values returned by clock-chipped M680x0 computers
- ===========================================================================
- Model Name CPU Speed (MHz)
- 20 25 33
- ---------------------------------------------------------------------------
- LC III 27- 62
- Q605% 93! 94- 95!
- LC475% 86! 89- 90!
- LC575 87! 91! 92-
- ---------------------------------------------------------------------------
- - value returned when unmodified
- ! value not belonging to any known, released computer
- % if you remove jumper J18 from a Q605 it becomes a LC475
- ---------------------------------------------------------------------------
-
-
- ===========================================================================
- Machine Type values returned by clock-chipped PowerPC computers
- ===========================================================================
- Model Name CPU Speed (MHz)
- 60 66.6 75 80 82 90 100 110 112 120
- ---------------------------------------------------------------------------
- PM 6100/60(AV) 75- 100 101!
- PM 6100/66(AV) 75 100- 101!
- PM 7100/66(AV) 111! 112- 113! 114!
- PM 7100/80(AV) 112 47-
- PM 8100/80(AV) 61! 64! 65-
- PM 8100/100(AV) 65 55- 40 12!
- PM 8100/110(AV) 65 55 40- 12!
- Power100# 65 55 55- 12!
- ---------------------------------------------------------------------------
- - value returned when unmodified
- ! value not belonging to any known, released computer
- # Macintosh clone by Power Computing
- ---------------------------------------------------------------------------
-
-
- ===========================================================================
- Machine Type values returned by modifying the Wombat motherboard
- ===========================================================================
- Architecture Jumper No Resistors Resistor R151 Resistor R152
- ---------------------------------------------------------------------------
- M68040 No 51! 30 C650 36 Q650
- Yes 59! 30 C650 35 Q800
- PPC PDS Card No 123 PM 800 120 PM C650 122 PM Q650
- Yes N/A 120 PM C650 123 PM 800
- ---------------------------------------------------------------------------
- ! value not belonging to any known, released computer
- ---------------------------------------------------------------------------
-
- For more info on clock-chipping (or otherwise modifying) Macintosh
- computers:
- http://bambam.cchem.berkeley.edu/~schrier/mhz.html
-
- Copland
- -------
- (provided by Anonymous contributor, edited by Rene Ros)
-
- To have the new microkernel, implemented by Copland, not depend on the
- system registry or Gestalt a system call is provided instead:
-
- enum
- {
- kSystemInformationVersion = 0
- };
-
- typedef struct SystemInformation
- {
- ItemCount numPhysicalRAMPages;
- ByteCount pageSize;
- ByteCount dataCacheBlockSize;
- UInt32 processorVersionNumber;
- UInt32 numCPUs;
- ProcessID kernelProcessID;
- };
-
- OSStatus GetSystemInformation (PBVersion theVersion,
- SystemInformation * theSystemInfo);
-
- Undoubtely Gestalt itself will use this call to return the information
- too.
-
- For more reading:
- MicroKernel White Paper
-
- Copy protection using Gestalt
- -----------------------------
- (by Rene Ros)
-
- In D e v e l o p 17 Brigham Stevens suggests to use Gestalt and FindFolder
- as a way to implement copy protection in the most compatible way possible.
- By determining several characteristics at installation from the Gestalt Mgr
- and the DirID of the System Folder with FindFolder you can check for this
- info later. When is has changed you can then ask for the serial number
- or a password again.
-
- Disabling PowerKey
- ------------------
- (from the Macintosh System 7.5 Update 2.0 Developer Read Me provided by an
- anonymous contributor)
-
- Using the 'pwky' selector you can enable or disable the PowerKey and/or the
- Shutdown dialog. The code to use this hack should be something like this:
-
- #ifndef kPowerKey
- #define kPowerKey 0x7F
- #define kShutdownDlog 0x7E
-
- #define kDissablePwKy (short) 0x6B
- #define kEnablePwKy (short) 0x00
-
- #define kNoDismiss 0x00
- #define kOneSecond 0x70
- #define kTenSeconds 0x400
- #endif
-
- typedef pascal OSErr (*PwrKeyProc)(short item, short action);
-
-
- /************************************************************/
- void main()
- {
- OSErr theErr;
- PwrKeyProc pPwrKey;
-
- theErr = Gestalt('pwky', &pPwrKey);
- if(theErr == noErr)
- {
- /* To dissable the powerkey */
- theErr = (*pPwrKey)(kPowerKey,kDissablePwKy);
-
- /* To enable the powerkey */
- theErr = (*pPwrKey)(kPowerKey,kEnablePwKy);
-
- /* Never dismiss the shutdown dialog */
- theErr = (*pPwrKey)(kShutdownDlog,kNoDismiss);
-
- /* Dismiss the shutdown dialog in 112 Ticks (approx. 1 sec) */
- theErr = (*pPwrKey)(kShutdownDlog,kOneSecond);
-
- etc…
- }
-
- return;
- }
-
- See also the 'pwky' selector entry.
-
- Environs & SysEnvirons
- ----------------------
- (by Rene Ros)
-
- Using Macsbug it is very easy to determine that the SysEnvirons function
- uses the Gestalt Manager to fill the fields of the system environment
- record. So, when you install your own gestalt definitions by using the
- ReplaceGestalt function this will also change the information returned
- by SysEnvirons.
- The older Environs function doesn't use the Gestalt Mgr and the code
- seems to look only at two values in ROM.
-
- Executor Mac-emulator
- ---------------------
- (by Rene Ros)
-
- Executor is a Macintosh Emulator for DOS machines, published by
- Abacus Research and Development, Inc. (1993/1994). The Gestalt Manager is
- also emulated and the version I have seen (on a 486DX) says it's a MacPlus
- with a 68LC040 processor with MMU. The 'sysv' selector returns 0x607 but
- it also lists a lot of selectors usually not installed by 6.0.7. Like
- the 'edtn' and 'stdf' selectors. For those it then simply returns zero.
- Strangely enough the 'tabl' selector is not installed, but this doesn't
- confuse the Gestalt! application!
-
- Gestalt Apple Event
- -------------------
- (by John W. Baxter)
-
- The scriptable Finder, implemented by the Finder Scripting Extension,
- provides an Apple event to query the Gestalt Manager. This can be used from
- AppleScript using the 'computer' command.
- And using the PPC Toolbox this now also means you can query a remote
- computer, provided the Finder Scripting Extension is installed.
- The Finder Scripting Extension is installed with System 7.5 (which also
- includes Finder 7.1.4) but can also be used with Finder 7.1.3. The
- extension will later be rolled into the Finder.
-
- The direct parameter for this event is a Gestalt selector code. If this is
- the only parameter, the result is the result of calling Gestalt with that
- code.
-
- An optional second parameter can be included, in which case it is a 32 bit
- number against which the result of calling Gestalt with the given selector
- is tested. When this parameter is present, the event returns true if all
- bits set in the optional parameter are set in the result from Gestalt, and
- false otherwise. In AppleScript, when telling Finder:
- computer "os " has 3
- returns true if the low-order two bits are set in the result from Gestalt.
- The equivalent event built "by hand" would be addressed to Finder (on the
- machine of interest) and would have the parameters
- key value type
- '----' 'os ' typeType (alternative: "os " typeChar)
- 'has ' 3 typeLongInteger ('has ' is keyASPrepositionHas)
-
- The event class would be kAEFinderSuite ('fndr'), and the event ID would be
- kAEGestalt ('gstl').
-
- For more reading:
- D e v e l o p Magazine, Issue 20. "Scripting the Finder from your
- Application" by Greg Anderson, page 65.
- Finder Suite documentation available (starting in March 1995) on the
- Developer CD Series (Reference) as
- :Technical Documentation:Apple Events Registry & Suites:
- AE Suite Finder:Finder Suite
-
- Gestalt Applications
- --------------------
- (by Rene Ros)
-
- Several specialized applications are available to display all installed
- Gestalt selectors. And several other applications heavily depend on the
- Gestalt Manager to show information on hardware and software.
-
- Only a few locations are listed here, use the filename to search for other
- locations. Or use the known mirror sites of FTP sites.
-
- DisplayGestalt (Craig Marciniak)
- Small application displays configuration using Gestalt Mgr, includes
- C-source.
-
- ftp://mac.archive.umich.edu/development/libraries/displaygestalt.cpt.hqx
-
- Gestalt! 3.0 (Roland Mansson)
- Displays responses from installed selectors.
-
- ftp://ftp.lu.se/pub/mac/util/gestalt300.cpt.hqx
- ftp://sumex-aim.stanford.edu/info-mac/cfg/gestalt-300.hqx
-
- Contact: Roland Mansson (roland.mansson@ldc.lu.se)
-
- GestaltDA 0.4 (Carl C. Hewitt, Apple Computer Inc.)
- Displays responses from installed selectors.
-
- CD-ROM: Bookmark CD (Apple Developer Group)
- :Tools & Applications:OS/Toolbox:GestaltDA 0.4
-
- Contact: D e v e l o p (dev.subs@applelink.apple.com)
-
- Gestalt Environment 7
- Application to list a number of installed selectors.
-
- mailto:gestalt-selectors-list-request@bio.vu.nl
- 'archive get software/ge7.hqx'
-
- Go Gestalt appl 1.5 (Paul Reznick)
- Displays information obtained thru the Gestalt Mgr.
-
- mailto:gestalt-selectors-list-request@bio.vu.nl
- 'archive get software/go-gestalt-15.sit.hqx'
-
- Contact: Paul Reznick (PRzeznik@aol.com)
-
- Tattle-Tech appl (Decision Makers Software, Inc.)
- Uses Gestalt manager extensively to display all known information.
-
- ftp://sumex-aim.stanford.edu/info-mac/cfg/tattle-tech-22.hqx
-
- Contact: John Mancino (mancino@decismkr.com)
-
- TechTool appl 1.0.8 (Micromat Computer Systems)
- Application to reset PRAM, rebuild DTDB and show Gestalt info.
-
- ftp://sumex-aim.stanford.edu/info-mac/cfg/tech-tool-108.hqx
-
- GestaltValue
- ------------
- (by Marco Piovanelli, addition by Rene Ros)
-
- The first time you call NewGestaltValue, the library installs two non-
- relocatable blocks in the system heap and the 'gval' gestalt selector. One
- of the blocks is filled with code: it's actually a gestalt definition that
- implements GestaltValue's shared mechanism. The second block contains the
- selectors and values GestaltValue manages. The response returned by the
- 'gval' selector is a pointer to the second non-relocatable block in the
- system heap.
-
- Dave Radcliffe wrote on 23 March 1993 regarding some information, about the
- GestalValue glue code, listed with version 1.4 of this list:
- ---------------------------------------------------------------------------
- The information on the _GestaltValue trap (0xABF2) is correct based on the
- glue, but because of a mistake on my part, the glue should be checking for
- 0xABF1. A new version of the glue is being distributed on the developer CD
- next month...
- ---------------------------------------------------------------------------
-
- The GestaltValue library can be found at Info-Mac.
- (ftp://sumex-aim.stanford.edu/info-mac/dev/gestalt-value-lib.hqx)
-
- GestaltValue & CodeWarrior Problem
- ----------------------------------
- (by Francois Pottier)
-
- The GestaltValue.o library is made up of several routines. The first time
- someone calls a routine from the library, the library installs itself into
- the System Heap and uses NSetTrapAddress to set up its own trap. Subsequent
- calls to the library will just map to a trap call. This allows the code to
- be loaded only once in memory, even if several INITs use GestaltValue.
-
- What's the problem? In order to install itself into the System Heap, the
- GestaltValue code must compute how big it is; it does this by subtracting
- the address of the first routine from the address of a stub routine located
- after the last real routine. That's common practice. It assumes, however,
- that the linker will preserve the order of the routines.
-
- But CodeWarrior's "Import MPW library" command does not preserve the order
- of the functions it finds inside the .o file. As a result, when you call
- NewGestaltValue for the first time, the library finds its own size to be
- negative. It asks the Memory Manager for a block of negative size and
- returns an error (memFullErr, I believe).
-
- Note that this only happens if your software is the first to call
- GestaltValue since the machine started up. Also, I think it won't happen
- under System 7.5 because GestaltValue is part of 7.5. If your program
- requires 7.5, you probably don't need the GestaltValue.o glue at all.
-
- Glue code
- ---------
- (by Rene Ros, based on THINK Reference 2.0)
-
- These development/compiler software contain glue-code to handle a few
- selectors even when the Gestalt Manager is not available.
-
- THINK C (5.0 and later)
- THINK Pascal (4.0 and later)
- MPW (3.2 and later)
-
- The following selectors can be handled by the glue-code, with all others
- an error (gestaltUndefSelectorErr) will be returned.
-
- gestaltAppleTalkVersion = 'atlk';
- gestaltFPUType = 'fpu ';
- gestaltKeyboardType = 'kbd ';
- gestaltLogicalRAMSize = 'lram';
- gestaltMachineType = 'mach';
- gestaltMMUType = 'mmu ';
- gestaltPhysicalRAMSize = 'ram ';
- gestaltProcessorType = 'proc';
- gestaltQuickdrawVersion = 'qd ';
- gestaltSystemVersion = 'sysv';
- gestaltVersion = 'vers';
-
- Unless you are using direct calls, ofcourse.
-
- INITGestalt standard
- --------------------
- (by Rene Ros, based on INITGestalt proposal by Jeremy Roussak and Rene Ros)
-
- The INITGestalt proposal tries to define a standard memory structure which
- describes the basic information about software. Using the Gestalt call
- other software obtains a pointer to the structure for software which uses
- the INITGestalt standard.
-
- You can find the latest version of the INITGestalt proposal at
- ftp://sumex-aim.stanford.edu/info-mac/dev/init-gestalt-*.txt
- Or by sending an email, with subject 'archive get init-gestalt*', to
- gestalt-selectors-list-request@bio.vu.nl
-
- To test your software during implementing INITGestalt, or just to check
- out a selector, you definitly need INITGestalt Inspector:
- ftp://sumex-aim.stanford.edu/info-mac/cfg/init-gestalt-inspector-10.hqx
-
- Machine Names
- -------------
- (by Rene Ros et al.)
-
- The STR# resource with ID -16395, inside the system file, contains a list
- of Macintosh machine names. The selector gestaltMachineType ('mach')
- returns a value which can be used as the index value with a GetIndString
- call to get the appropriate machine name. There area some exceptions to
- this and these are discussed in this report.
-
- On Macintosh Performas (System 7.1), the Machine Name STR# resource will
- always return the string "Macintosh" (not "Macintosh Performa 450" or
- "Performa 450"). On all other Macintoshes, the string will return the
- correct name. (Mark Dawson)
- [And] if you do a dirty install [of System 7.5 or later] (right on top of
- an existing, pre-7.5 System), your machine type and icon will be preserved.
- If you do a clean install, you'll get the generic name/icon in the
- Finder's "About This Macintosh..." dialog. (Tim Swihart)
- This can be fixed by using the freeware Mac Identifier extension, located
- at ftp://ftp.fluxsoft.com/pub/Mac_Identifier_2.0.sit.hqx.
- Or use the WhoAmI? application, which can be found at
- ftp://sumex-aim.stanford.edu/info-mac/cfg/who-am-i-121.hqx. (Rene Ros)
- Apple says that in the future ID's will be reused and the kMachineNameStrID
- will contain only the text ' Macintosh' (two spaces first) &AT01
- This policy seems to have changed because the System 7.5 Update enabler
- installed by System 7.5 Update 1.0 either contains ' Macintosh',
- ' Macintosh PowerBook' or ' Power Macintosh' (all with two leading
- spaces). Perhaps the 'mach' selector in the future will be used to indicate
- the category only. Then we'll get another mechanism/selector to get the
- real machine type? Rumour goes a new ROM is developed which allows clone
- makers to have their machines identified properly. (Rene Ros, with some
- info from John Mancino)
-
- All system enablers have the machine name resource included to replace the
- one in the System file. In most cases this resource lists the same
- Macintosh names as the original one in System 7.1 and adds the names of the
- machines the enabler is intended for. But some only list the machines the
- enabler is used with. Therefore, if you want to display the name of a
- machine which isn't of the current machine type you can't rely on this
- resource anymore. (Rene Ros)
-
- The Performa 600 was originally planned to ship as Macintosh IIvm but the
- name was changed because users thought 'vm' meant 'Virtual Memory'. MOST
- system enablers (i.e. 001, 040, 065 & 201) contain this original name.
-
- The Machine Name resource in the MAE Enabler 1.0 contains the string
- "MAE 1.0" in these items: 19, 28, 130, 131 and 132.
-
- The PowerPC Enabler 1.1 enabler contains a Machine Name resource which
- lists these names:
- items 1-66 contain the item number itself except:
- 12 Power Macintosh 8100/120
- 31 Paula's Desk Macintosh
- 39 Workgroup Server 9150
- 40 Power Macintosh 8100/110
- 46 Power Macintosh 6100/66
- 47 Power Macintosh 7100/80
- 55 Power Macintosh 8100/100
- 64 Power Macintosh 8100/60
- 65 Power Macintosh 8100/80
- 66 Power Macintosh 8100/100
- items 67-115 are empty except:
- 75 Power Macintosh 6100/60
- 100 Power Macintosh 6100/66
- 101 Power Macintosh 6100/80
- 111 Power Macintosh 7100/60
- 112 Power Macintosh 7100/66
- 113 Power Macintosh 7100/80
- items 116-123 contain the text " Power Macintosh"
- "Paula's Desk Macintosh" disappeared again with version 1.1.1 of the
- PowerPC enabler, it was replaced by the number '31' ! :-)
- The duplicate names for some of the Power Macintosh models was resolved
- and is it is now know that some values belong to a never to be released
- ROM version. See the gestaltMachineType entry for more detailed
- information.
-
- The PowerBook 5300/190 Enabler now lists the full machine names again!
- (Eric-Paul Rebel)
-
- Macintosh Application Environment
- ---------------------------------
- (by Rene Ros, with thanks to Jos van Wezel for providing the workstation
- and installing the software.)
-
- Using the MAE 1.0 demo version is quite stressful since it expires after
- eight hours! Copying files to a disk doesn't work also because all you
- are left with is an file with only the resource map and a few resources.
- All resources are maintained by MAE. But by using ResEdit it is possible
- to copy the resources itself one for one to a file on a floppy disk.
- Under MAE 1.0 these results were found on a SUN SPARCstation 5:
-
- ===========================================================================
- Summary of Gestalt Selectors installed with MAE 1.0
- ===========================================================================
- Selector Response Remark
- ---------------------------------------------------------------------------
- a/ux 3.0.1
- cput 5 MC68040
- fpu 0 none
- mach 19 which is the LC, but the MAE Enabler only has
- 'MAE 1.0' in the machine name STR# resource
- mmu 0 none
- proc 5 MC68040)
- rom 2048K
- romv 1917
- snd 0 no sound support, no system beeps to choose from
- snhw awac
- cith 0 huh?
- ---------------------------------------------------------------------------
-
- See also a note with the gestaltMachineType ('mach') selector entry.
-
- Macintosh Clones
- ----------------
- (by Rene Ros, contributions by Jean-Pierre Curcio, Kenneth Knotts and Marc
- Schrier. Also based on MacWEEK articles.)
-
- So far the clone manufacturers have released computers which hardware
- is identical, though clockspeed may be different, to other computers
- released by Apple. This section contains a table of clone model names and
- the equivalent Apple ID number and constant name.
-
- The Pioneer clone (codename Pioneer MPC-GX1 where MPC stands for Multimedia
- Personal Computer) was observed at CeBIT '95.
-
- ===========================================================================
- Relabled Machines
- ===========================================================================
- Manufacturer Model Name Apple Hardware Model
- ID Constant
- ---------------------------------------------------------------------------
- Pioneer MPC-GX1 100 gestaltPowerMac6100_66
- Power Computing Power 100 55 gestaltPowerMac8100_100
- Power 120 12! gestaltPowerMac8100_120
- PowerWave 604/120 67 gestaltPowerMac9500
- PowerWave 604/132 67 gestaltPowerMac9500
- PowerWave 604/150 67 gestaltPowerMac9500
- Radius 81/110 40 gestaltPowerMac8100_110
- System 100 ??? gestaltPowerMac8100??? ?
- ---------------------------------------------------------------------------
- ! value not belonging to any by Apple released computer
- ---------------------------------------------------------------------------
-
- Modern Memory Manager
- ---------------------
- (by John W. Baxter and Eric Schlegel)
-
- The Universal Headers from Apple have a revised Memory Manager heap zone
- header and named constants, which provide a documented methode of detecting
- the Modern Memory Manager. It is as yet unknown whether the kNewDebugHeap
- flag set implies kNewStyleHeap set. The code here does not assume so...but
- some might wish to test each flag in its own function.
-
- Boolean IsModernMemory (void) {
-
- THz myZone = GetZone ();
-
- return (myZone->heapType & (kNewStyleHeap | kNewDebugHeap)) != 0;
- }
-
- If you use older headers, replace the return statement with this line:
-
- return (0 != ((*myZone).maxNRel & 0x0600));
-
- The new headers have the heapType field as a Byte (followed by a Byte
- filler), together replacing the maxNRel short. The bits in it are defined
- by these masks:
-
- enum {
- /* masks for Zone->heapType field */
- k32BitHeap = 1, /* valid in all Memory Managers */
- kNewStyleHeap = 2, /* true if new Heap Manager is present */
- kNewDebugHeap = 4 /* true if new Heap Manager is running in debug
- mode on this heap */
- };
-
- PPC Libraries
- -------------
- (based on a posting by John Baxter in the comp.sys.mac.programmer Usenet
- newsgroup on Internet.)
-
- Some of the Gestalt selector functions are smart enough to avoid crashing
- when the user removed the library file from the Extensions folder without
- restarting the machine. And some selector functions aren't that smart.
- Safest is to preflight the first call you make into the library (for code
- or data) or include a preflight in your startup.
-
- QuickTime
- ---------
- (by Michael Hecht, additions by Rene Ros)
-
- If you install QuickTime under System 6, a major portion of the Alias
- Manager and FSSpec support is also added. But, QT doesn't implement the
- Gestalt selectors because the implementation is not complete. You must
- check for either Alias Mgr or QuickTime.
-
- These are the limitations for the Alias Mgr installed by QuickTime:
- - NewAlias will accept fromFile parameter, but it never creates a
- relative alias.
- - NewAliasMinimalFromPath and ResolveAliasFile aren't available.
- - ResolveAlias and UpdateAlias ignore the fromFile parameter.
- - MatchAlias may be called but the kARMMultVols, kARMSearchMore and
- kARMSearchRelFirst flags aren't available and ignored if passed.
- Also, a matchProc will never be called.
- - Won't mount network volumes.
-
- And these are the FSSpec calls available with System 6 when QuickTime is
- installed:
- - FSMakeFSSpec
- - FSpOpenDF
- - FSpOpenRF
- - FSpCreate
- - FSpDirCreate
- - FSpDelete
- - FSpGetFInfo
- - FSpSetFInfo
- - FSpSetFLock
- - FSpRstLock
- - FSpRename
- - FSpCatMove
- - FSpOpenResFile
- - FSpCreateResFile
- - FSpGetCatInfo
-
- See for more information Technical Note M.QT.MovieTB.Q&As (QT 510) and
- D e v e l o p 11 magazine on page 122.
-
- RAM Doubler
- -----------
- (by anonymous contributor and Rene Ros)
-
- RAM Doubler implements virtual memory in a different way than the normal
- Apple VM mechanism. It looks like this is done in corporation with Apple
- since a selector installed by RAM Doubler is 'vmem' which is all lower-case
- and thus reserved by Apple.
- In addition the response from this selector is always (long)'RaM2' which
- is the creator type of RAM Doubler. It seems this selector is used to
- indicate which software is used to extend the capabilities of the Virtual
- Memory Manager.
- RAM Doubler also installs the selector 'vmFn' which seems to be a pointer
- to a function to control RAMDoubler (1.0?) or to obtain information. It
- looks like registers are used to pass parameters to and from that function.
- D0 perhaps holds values 1 to 6 as input and perhaps A0 is used for the
- return value.
-
- FUNCTION VMExtensionControl? (selector: Integer; VAR result: LongInt): OSErr;
- Registers on entry D0: selector code
- Registers on exit A0: result code
- D0: error code
- Result codes
- noErr 0 No error
- invalidSelector? 206 Invalid selector value?
- ???
-
- Values used as selector:
- enum {
- kVMControlType? = 1, /* type VM extension: RaM2 */
- kVMControlVersion? = 2, /* version VM extension as BCD */
- kVMControl??? = 3, /* engine version as BCD?: 0x0313 */
- kVMControlMemSize? = 4, /* unknown: Get/SetMemorySize? */
- kVMControlMemSize? = 5, /* unknown: Get/SetMemorySize? */
- kVMControl??? = 6, /* unknown */
- kVMContolMaxFunctions? = MAXINT}; /* returns number of valid */
- /* selectors or any other value */
- /* outside the current 1-6 */
- /* range */
-
- Remember: all this is heresay!!!
-
- Because of all this you can imagine RAM Doubler replaces/installs the
- following System Software selectors (and I think it does):
- lram, pgsz, ram , vm , vmbs.
-
- Relabled Macintosh Models
- -------------------------
- (by Rene Ros;
- Originally based on the Mac Models List by J.D. Sterling Babcock.
- Since Summer 1995 based on MacFacts by Apple Computer Inc.)
-
- The Performa models usually (there are some exceptions) return a machine
- ID# for the model they are based on. The table below lists several models
- which are simply relabled and the hardware model they are based on.
-
- ===========================================================================
- Relabled Machines
- ===========================================================================
- Relabled Model Hardware Model Note
- Name Constant
- ---------------------------------------------------------------------------
- Macintosh ED gestaltMacPlus sold in Netherlands?,
- 512K with Mac SE case
- color
- Macintosh LC III+ gestaltPerforma460
- Performa 200 gestaltClassicII
- Performa 250 gestaltMacColorClassic sold in Australia and
- Britain
- Performa 275 gestaltMacColorClassic
- Performa 400 gestaltMacLCII
- Performa 405 gestaltMacLCII
- Performa 410 gestaltMacLCII
- Performa 430 gestaltMacLCII
- Performa 450 gestaltMacLCIII
- Performa 460 not relabeled, own ID
- Performa 466 gestaltPerforma460
- Performa 467 gestaltPerforma460
- Performa 475 gestaltMacLC475
- Performa 476 gestaltMacLC475
- Performa 520 gestaltMacLC520
- Performa 550 gestaltMacLC550
- Performa 560 gestaltMacLC550
- Performa 575 gestaltMacLC575
- Performa 577 gestaltMacLC575
- Performa 578 gestaltMacLC575
- Performa 580 gestaltMacLC580
- Performa 588 gestaltMacLC580
- Performa 600 not relabeled, own ID
- Performa 630 gestaltMac630
- Performa 631 gestaltMac630
- Performa 635 gestaltMac630
- Performa 636 gestaltMac630
- Performa 637 gestaltMac630
- Performa 638 gestaltMac630
- Performa 640 gestaltMac630
- Performa 5200 gestaltPowerMac5200_75
- Performa 5210 gestaltPowerMac5200_75
- Performa 5215 gestaltPowerMac5200_75
- Performa 5220 gestaltPowerMac5200_75
- Performa 6110 gestaltPowerMac6100_60
- Performa 6112 gestaltPowerMac6100_60
- Performa 6115 gestaltPowerMac6100_60
- Performa 6116 gestaltPowerMac6100_60
- Performa 6117 gestaltPowerMac6100_60
- Performa 6118 gestaltPowerMac6100_60
- Performa 6200 gestaltPowerMac6200_75
- Performa 6216 gestaltPowerMac6200_75
- Performa 6218 gestaltPowerMac6200_75
- Performa 6220 gestaltPowerMac6200_75
- Performa 6230 gestaltPowerMac6200_75
- Performa 6300 gestaltPowerMac6200_75
- PowerMac 6100/60AV gestaltPowerMac6100_60
- PowerMac 7100/66AV gestaltPowerMac7100_66
- PowerMac 8100/80AV gestaltPowerMac8100_80
- PowerMac WGS 6150/60 gestaltPowerMac6100_60
- PowerMac WGS 6150/66 gestaltPowerMac6100_66
- PowerMac WGS 8150/80 gestaltPowerMac8100_80
- PowerMac WGS 8150/110 gestaltPowerMac8100_110
- Quadra 660AV gestaltMacCentris660AV
- Workgroup Server 60 gestaltMacCentris610
- Workgroup Server 80 gestaltMacQuadra800
- Workgroup Server 95 gestaltQuadra950
- Workgroup Server 95+ gestaltQuadra950
- ---------------------------------------------------------------------------
-
- General Info
- ============
- The following sections provide general information needed or useful in
- relation to the Gestalt Manager.
-
- System Managers
- ---------------
- Listed below is a table with the different software components of the
- System Software with their related selectors. The selectors listed with
- this table are included in the (known) 'Apple System Software' and
- 'Apple Additional Software' chapters.
- It provides a cross-reference to selectors and a starting point into other
- documentation (Inside Macintosh).
- With System Software versions before 6.0.4 (and Gestalt) you may need to
- use TrapAvailable to determine the presence of certain system parts.
-
- ===========================================================================
- System Software components and their selectors
- ===========================================================================
- Manager Determine presence/features by using:
- ---------------------------------------------------------------------------
- 8*24 Graphics Card gc24
- A/UX a/ux
- ADB Mgr ???
- Alias Mgr alis
- AOCE Utilities ???
- Apple Event Mgr evnt
- Apple Guide help, reno
- Apple Photo Access kpcd
- Apple Remote Access arb , strm
- AppleScript ascr, ascv
- AppleTalk Mgr atkv, atlk
- AppleTalk Phase 2 atkv >= 53
- At Ease kids
- ATA Manager? (the SCSI Mgr equiv. for IDE)
- TrapAvailable(0xAAF1)
- Audio CD Access aucd
- Authentication Mgr ???
- Catalog Mgr ???
- CD-ROM Software see:
- Apple Photo Access
- Audio CD Access
- Foreign File Access
- High Sierra File Access
- ISO 9660 File Access
- CloseView BSDa
- Code Fragment Mgr cfrg
- Collection Mgr cltn
- Color Mgr ???
- Color Picker Mgr cpkr
- ColorSync Utilities cmta, cmtc
- Communications Toolbox ctbm, ctbu, ctbv
- see also:
- Communications Resource Mgr
- Connection Mgr
- Telephone Mgr
- Terminal Mgr
- Communications Resource Mgr crm
- Component Mgr cpnt
- Compression Mgr icmp
- Connection Mgr conn
- Control Mgr no need to check
- Control Strip sdev, csvr
- Cuda Dispatch Mgr cuda? (for more info:
- Developer Note 'Mac LC630 &
- Quadra 630' and SAA7194/6 Philips
- Desktop Video Handbook)
- Cursor Device Manager TrapAvailable(0xAADB)
- Cursor Utilities qd >= gestalt32BitQD
- Data Access Mgr dbac
- Date, Time and Measurement Utilities
- ???
- Debugger debugger dependant, see also MacsBug
- Deferred Task Mgr no need to check?
- Desk Manager no need to check
- Desktop Animation Mgr (Copland?)
- danm
- Desktop Mgr PBHGetVolParms fills GetVolParmsInfoBuffer.
- Test for the bHasDesktopMgr bit (12) of the
- vMAttrib field for all volumes.
- Device Mgr no need to check
- Dialog Mgr ditl, TrapAvailable(_DialogMgrDispatch)
- Dictionary Mgr dict
- Digital Signatures Mgr dsig
- Disk Initialization Mgr fs
- Display Mgr dplv, dply
- Docking Mgr ???
- Drag Manager drag
- Easy Access eajt, easy
- Edition Mgr edtn
- Event Mgr no need to check?
- Exception Mgr no need to check?
- File Mgr ???, fs
- File System Mgr fs , fsm
- File Transfer Mgr fxfr
- Finder fndr
- FindFolder function fold
- Flagship flag
- Font Mgr font
- Foreign File Access ufox
- Gestalt Mgr gval, tabl, vers, TrapAvailable(_Gestalt),
- TrapAvailable(_GestaltValueDispatch)
- Graphics Worlds (qd > gestaltOriginalQD and qd < gestalt8BitQD)
- or (qd >=gestalt32BitQD)
- Help Mgr help
- High Sierra File Access hscd
- Icon Utilities icon, TrapAvailable(_IconDispatch)
- Interprogram Messaging Mgr ???
- ISO 9660 File Access hscd, iscd
- LAP Mgr atlk >= 53
- List Mgr no need to check ?
- MacsBug See PT 535 - MacsBug Q&As TechNote
- MacTCP mtcp
- Mathematical and Logical Utilities
- no need to check?
- Memory Mgr addr, cash, lram, os
- see also: Modern Memory Mgr
- Memory Management Utilities addr, TrapAvailable(_HWPriv) ?
- Menu Mgr no need to check
- Message Mgr mess
- MIDI Mgr ???
- Mixed Mode Mgr mixd
- Modern Memory Mgr see: Modern Memory Manager section of the
- Report chapter.
- Movie Toolbox ???
- Name Registry nreg
- Navigation Services (Copland?) nvsv
- Notification Mgr nmgr, TrapAvailable(_NMInstall) with System
- before 6.0.4 ?
- OCE Toolbox ocet, oceu
- Open Firmware opfw
- OpenDoc (CALib) calb
- OS Utilities depends on call
- OSA Use Component Mgr to check for Generic
- Scripting Component
- Package Mgr no need to check
- Parameter RAM Utilities no need to check?
- PC Card Manager pccd, TrapAvailable(_PCCardDispatch) [0xAAF0]
- PC Exchange pcxg
- Picture Utilities sysv >= 0x0700
- Popup CDEF pop!
- Power Mgr powr
- PowerTalk see:
- Digital Signatures Mgr,
- OCE Toolbox,
- S&F Server,
- SDP Find,
- SDP Prompt,
- SDP Standard Directory,
- SMP Mailer,
- SMP Sendletter
- PPC Toolbox ppc
- Printing Manager no need to check?
- Process Mgr os
- Queue Utilities ???
- QuickDraw qd , qdrw
- QuickDraw 3D qd3d, q3vc, q3v
- QuickDraw GX qdgx
- QuickDraw GX Graphics gfxa, grfx
- QuickDraw GX Printing Mgr pmgr
- QuickTime qtim, qtrs
- Realtime Mgr rtmr
- Resource Mgr rsrc
- S&F Server (PowerTalk) see OCE Toolbox
- SANE (OmegaSANE) ???
- Scrap Mgr scra
- Script Mgr scr#, scri, TrapAvailable(_ScriptUtil)
- SCSI Mgr scsi
- SDP Find (PowerTalk) dfnd
- SDP Prompt (PowerTalk) prpv
- SDP Standard Directory (PowerTalk)
- sdvr
- Segment Mgr no need to check
- Server control calls TrapAvailable(ServerDispatch) [0xA094]
- Shared Library Mgr aslm, slmp
- Shutdown Mgr TrapAvailable(_Shutdown) ?, pwky
- Slot Mgr nubs, slot, slt1, sltc
- SMP Mailer (PowerTalk) malr
- SMP Sendletter (PowerTalk) spsl
- Sound Mgr snd , snhw, TrapAvailable(_SoundDispatch)
- Sound Input Mgr snd
- Speech Mgr ttsc
- Speech Recognition srta, srtb
- Standard Catalog Package ???
- Standard File Package stdf
- Standard Mail Package ???
- Standard NBP nlup
- Start Mgr ???
- System Toolbox (hardware)
- coprocessor fpu
- disks intd
- keyboard kbd
- machine mach
- misc. ICs hdwr, mmu , rbv , sccr, sccw, ser ,
- via1, via2
- processor cput, proc, sysa
- RAM ICs ram , prty
- ROM ICs rom , romv
- trackpad tpad
- System Toolbox (software) lmem, micn, misc, os , ostt, osyv,
- sysv, tbtt, xttt
- Telephone Mgr tele
- Terminal Mgr term
- Text Services Mgr tsma, tsmv
- Text Services Manager for TextEdit
- tmTE, tmTV
- Text Utilities depends on call
- TextEdit te , teat
- Thread Mgr thds
- Time Mgr tmgr
- Toolbox Utilities depends on call
- Translation Mgr xlat
- TV & Video mtv2, tv
- Unicode Converter (Copland?) unic
- Vertical Retrace Mgr no need to check
- Video see: TV & Video
- Virtual Memory Mgr pgsz, vm
- Window Mgr (Copland?) wind
- Workstation Management Agent wma.
- WorldScript scri >= 0x0710, ws 1
- XTND Technology XTND
- ---------------------------------------------------------------------------
-
- Gestalt Problems
- ----------------
- This section lists all known problems related to the Gestalt selectors.
- Each problem is also listed with each of the entries in the selector
- chapters above. The table below provides an overview.
-
- ===========================================================================
- Overview Gestalt selector problems
- ===========================================================================
- Software Code Problem Status
- ---------------------------------------------------------------------------
- Apple Photo Access ext kpcd always returns 0xFFFFFFF7 R unclear
- AppleScript ext ascv different formats version R problem?
- AppleTalk atkv majorRev of version in hex problem?
- Color Picker ext cpkr incorrect return values? problem?
- Control Strip cp sdev two symbolic names defined problem?
- Desktop Printer Ext pxtn v1.0 doesn't install selector? problem?
- Easy Access cp easy incorrect return values C unknown
- Icon Utilities code icon not installed C SYS 712?
- File System Manager fsm not installed with System 7.5 UPD 1.0
- Link Tool Mgr 2.0 ext ltma incorrect version value? R problem?
- PowerTalk ext/Control Strip 1.0 cp
- sdvr same selector for both? C CS 1.1?>
- QuickDraw 3D qd3d selector function crashes? problem?
- SAM ext LLSM selector function crashes 4.0.1>
- Speech Manager ext ttsc With Sys 7.5.1 PPC Glue bit set
- on 68K machines unclear
- Speech Recognition ext srta, srtb
- installed even if no SR possible R unclear
- System (enablers) *ALL* Gestalt Mgr with System 7.1.2 C SYS 7.5>
- *ALL* Minimal System (Disk Tools) may
- lie about managers present C unknown
- *ALL CTB*
- Comm. TB for System 6 doesn't
- install any of the CTB selectors C never
- alis QT part. installs but no selector C ok
- cash never installed? unclear
- cput incorrect values 68K header file C fixed
- system 7.5? returns incorrect
- values for 68K C unknown
- ctbv PM returned 1.1 while ROM has 1.0 C SU 3.0 >
- fs QT part. installs but no selector C ok
- intd bit 1 (disk spon up) not set R SYS751>?
- kbd Adjustable Keyboard incorrect C SU 2.0 >
- not installed on PM7100 (7.1.2) unclear
- mach duplicate numbers for PPC upgrade
- cards and new PPC PowerBooks problem?
- mixd 'gestaltMixedModeVersion' is
- incorrect name C fixed
- qdrw HasColor set on B/W machines (7.0)C unknown
- rsrc PartialRsrcs not set with 7.0 C 7.1 >
- sltc No information on IIsi slot C never?
- sysv KanjiTalk 6.0.7 incorrect return value
- C sysvINIT
- System 6.0.8 returns 0x0607 never
- System 7.1.2/PPC card returns 0710 unclear
- tv Bits 3 and 4 incorrectly set unclear
- Bit 5 incorrectly clear unclear
- System/Apple Event ext evnt constants overlap header files C fixed
- Shared Libary Manager aslm function of early versions crash fixed
- Transporter ext TRNS calling function causes interface
- problems
- Virex cp? VrkS triggers quickscan feature only
- by calling function
- ---------------------------------------------------------------------------
- R = unconfirmed but known to be reported to Apple
- C = confirmed
- fixed = problem is fixed, see selector entry for more information
- ok = meant to work this way...
- unclear = unclear if it will ever be fixed
- unknown = unknown when it will be fixed
-
- One general Gestalt problem is that NewGestalt calls StripAddress on the
- procptr passed to it, not on a local copy, so the stripping becomes
- permanent. This is fixed by System 7.5.1.
-
- Inside Macintosh Operating System Utilities says (on page 1-37) the A0 and
- D0 registers are used to pass/return data to/from the the selector function.
- This is incorrect since the function is Pascal stack based.
- (Nobu Toge, Steve Ko)
-
- History
- -------
- This section contains a short overview about the history of the Gestalt
- Manager and its predecessors.
-
-
- **ENVIRONS**
-
- PROCEDURE Environs (VAR rom,machine: INTEGER);
-
- With the introduction of the Macintosh the system routine 'Environs' was
- introduced. It allowed to obtain two pieces of information: the ROM version
- and a value to indicate the machinetype. This "ROM oriented" way soon
- appeared to be insufficient when the range of Macintosh hardware and
- software became more diverse.
-
-
- **SYSENVIRONS**
-
- FUNCTION SysEnvirons (versionRequested: INTEGER;
- VAR theWorld: SysEnvRec): OSErr;
-
- With System 4.1 a new system routine was introduced which allowed the
- programmer to obtain more information about the current configuration.
- Upon completion SysEnvirons filled the SysEnvRec with the information.
- This was however an "all-or-nothing" situation, it was not possible to
- obtain just one piece of information.
- To allow for larger system environment records with more information one
- needed to specify the version number of the system environment record. The
- last version, introduced with System 6, was version 2 which had nine fields.
-
-
- **GESTALT**
-
- FUNCTION Gestalt (code: LONGINT; VAR feature: LONGINT): OSErr;
-
- You may wonder how one can be so stupid to list the Gestalt routine wrong...
- However, this is how the Gestalt routine was presented to developers in
- the Preliminairy Developer Note regarding System 7 in 1989. It was
- originally written in 1988.
- There was no selector of type OSType as we known it today. Instead a list
- of numerical constants was used, like:
-
- zVersion = $1; { Gestalt Version }
- zMachType = $100; { machine type }
- zSystemVers = $101; { system file version }
-
- and nine others.
- But the principle used with todays Gestalt routine was there: request one
- specific piece of information and you'll get it. Nothing more and nothing
- less. Back then it wasn't the Gestalt Manager since there was only one
- routine. Both the NewGestalt and the ReplaceGestalt did not exist.
- In June 1992 (released in February 1993?) three new functions were added
- to the Gestalt Manager: NewGestaltValue, ReplaceGestaltValue,
- DeleteGestaltValue and SetGestaltValue.
-
- Abbreviations
- -------------
- A/UX - Apple UNIX
- ADB - Apple Desktop Bus
- AMU - Apple Memory Unit?
- ARBus - Apple RISC Bus
- ARTA - Apple Real Time Architecture
- AS - AppleShare
- ASC - Apple Sound Chip
- ASCII - American Standard Code for Information Interchange
- ASIC - Application Specific Integrated Circuit
- ASLM - Apple Shared Library Manager
- ATA - ??? (ATA Mgr, for IDE drive support)
- AURP - AppleTalk Update-based Routing Protocol
- AWAC - Audio Waveform Amplifier and Converter
- BIOS - Basic I/O System
- Caboose - processor that manages the keyswitch, system power,
- the real-time clock, and parameter RAM
- CDEF - Control DEFinition (code resource)
- CFM - Code Fragment Manager
- CHRP - Common Hardware Reference Platform
- CISC - Complex Instruction Set Computer (compare with RISC)
- CLUT/DAC - color look-up table and digital-to-analog converter IC
- Combo - chip, combines the functions of the SCC and the SCSI controller
- CPU - Central Processing Unit
- Cuda - ASIC that implements the ADB, PRAM and Soft Power on more
- recent Macs. Apperantly this IC will (or already does?) emulate
- the IBM keyboard controller also.
- Cyclops - IC to control remote control receiver.
- DAFB - Direct Access Frame Buffer
- DAV - Digital Audio Video (connector)
- DDC - Display Driver Chip
- DESC - Digitale Video Decoder and Scaler
- DFAC - Digitally Filtered Audio Chip
- DITL - Dialog ITems List (resource)
- DLL - Dynamically Linkable Library or
- Driver Loader Library
- DMA - Direct Memory Access
- DN - Developer Note
- DOS - Disk Operating System (to run a computer???)
- DRAM - Dynamic RAM
- DSP - Digital Signal Processor
- EASC - Enhanced Apple Sound Chip
- FAT - File Allocation Table?
- FMC - Fitch Memory Controller
- FPU - Floating Point Unit
- GDEF - Gestalt DEFinition (code resource)
- GPi - General Purpose Input
- IDE - Integrated Device Electronics
- IIC - Inter-Integrated Circuit, standard bus for talking to TV related
- chips using a 3-wire signal.
- IM - Inside Macintosh
- IOP - Input/Output Processor
- IWM - Integrated Woz Machine
- Jaws - ???
- JDB - Junction Data Bus
- JMC - Jaws Memory Controller
- MacOS - Macintosh Operating System
- MCU - Memory Control Unit
- MAE - Macintosh Application Environment (Mac system on UNIX RISC)
- MEO - Macintosh Easy Open
- MESH - Macintosh Enhanced SCSI Hardware
- MMU - Memory Management Unit
- NBP - Name Binding Protocol
- NTSC - National Television Standards Comittee
- (standard broadcast TV in North America and Japan)
- NVRAM - non-volatile RAM
- OCE - Open Colloboration Environment
- OMC - Orwell Memory Controller
- OS - Operating System
- OSA - Open Scripting Architecture:
- OSA is the Open Scripting Architecture. It is the layer upon
- which all scripting languages sit and the method by which
- applications call scripts. (Jon Pugh)
- OSL - Object Support Library
- OSS - Operating System Support chip
- PAL - Phase Alternating Line system
- (standard broadcast TV in most of Europe, South America, and
- southern Asia)
- PB - PowerBook
- PCI - Peripheral Component Interconnect
- PCMCIA - Personal Computer Memory Card International Association
- PDS - Processor-Direct Slot
- PGC - Parity Generator Chip
- PMMU - Paged Memory Management Unit
- PSRAM - Pseudo Static RAM
- PPC - Process-to-Process Communication, also:
- PowerPC
- PRAM - Parameter RAM
- ProDOS - Professional Disk Operating System? (OS for the Apple ][)
- PWM - Pulse-Width Modulated?
- QD - QuickDraw
- RAM - Random Access Memory (see DRAM & SRAM, compare ROM)
- RAMDAC - Random Access Memory, Digital/Analog Converter
- RBV - RAM-Based Video
- RISC - Reduced Instruction Set Computer (compare with CISC)
- ROM - Read Only Memory
- RSB - Ram Based Sound
- RTC chip - Real-Time Clock chip
- RPU - Random Parity Unit
- SANE - Standard Apple Numerics Environment
- SCC - Serial Communications Controller
- SCSI - Small Computer System Interface
- SDP - Standard Directory Package
- SECAM - standard broadcast TV in France and the former Soviet
- SIMM - Single In-line Memory Module
- SMP - Standard Mailer Package or
- Symmetric MultiProcessor
- SOM - System Object Model
- Sonic - chip for built-in Ethernet
- Sporty - a custom IC that provides sound output amplification functions
- SRAM - Static RAM
- SWIM - Super-Wozniak Integrated Machine
- TCP/IP - Transmission Control Protocol/Internet Protocol
- TE - TextEdit (32Kb limited built-in text-engine)
- TN - Technical Note
- TTS - Text-To-Speech
- Valkyrie - IC containing the video display control
- VDAC - Video Digital to Analog Converter
- VIA - Versatile Interface Adapter
- VM - Virtual Memory
- VRAM - Video RAM
- YANCC - Yet Another NuBus Controller Chip
-
- Sources
- -------
- A Apple Computer, Inc.
- AD Documentation & Magazines
- AD01 MacTCP Programmer's Guide
- AD02 AppleTalk Remote Access API External Reference Specification
- AD03 Macintosh Easy Open programmer's docs
- AD04 Thread Manager 1.1 and 2.0 documentation
- AD05 Drag Manager Programmer's Guide
- AD06 Sound Manager Tech Note on BookMark CD 16
- AD07 D e v e l o p 17, p. 123
- AD08 MAE Compatibility Hints
- AD09 Color Matching documentation on ETO 14 and BookMark 18
- AD10 OS Compatibility doc on WWDC 1994 CD
- AD11 IM PPC System Software
- AD12 IM OS Utilities
- AD13 D e v e l o p 19, p. 105
- AD14 File System Manager Guide, Sep. 1994
- AD15 Apple Remote Access API, part of Mac OS SDK
- AD16 Apple Guide Authoring Kit
- AD17 IM Advanced Color Imaging (Draft)
- AD18 Apple Tech Info Library (http://www.info.apple.com/til.html)
- AD19 Macintosh Programmer's Toolbox Assistant (Online Reference)
- AD20 IM Sound
- AD21 Preliminary Copland Headers (WWDC 1995)
- AD22 Copland Technical Overview (Draft)
- AD23 Developer Note Workgroup Server 9150
- AD24 PCMCIA API Manual
- AD25 Developer Note Macintosh PowerBook 190
- AD26 Developer Note Macintosh PowerBook 5300 Computer
- AD27 Developer Note Macintosh PowerBook 2300c
- AD28 Developer Note Macintosh PowerBook Processor Card Upgrade Kit
- AD29 IM Files Errata. February 1995/Rev. June 1995
- AD30 D e v e l o p 24, p. ???
-
- Inside Macintosh can be found at:
- http://www.info.apple.com/dev/insidemac.html
-
- Sample Code can be found at:
- http://www.info.apple.com/dev/sc.html
-
- D e v e l o p Magazine can be found at:
- http://www.info.apple.com/dev/develop.html
-
- AS Source code & header files
- AS01 QuickTime ImageCompression source files
- AS02 CommToolbox 1.1 source files
- AS03 MPW Interface files on Bookmark CD 14
- AS04 GestaltEqu header file on ETO 12
- AS05 GestaltEqu header file on ETO 13
- AS06 GestaltEqu header file on BookMark CD 17
- AS07 TSMTE header file on BookMark CD 17
- AS08 AppleScript header file on ETO 14
- AS09 Drag header file on ETO 14
- AS10 XTNDInterface header file on ETO 14
- AS11 ControlStrip header file on BookMark CD 19
- AS12 AppleGuide header file on BookMark CD 18
- AS13 Macintosh on RISC SDK (also on CodeWarrior CD)
- AS14 Gestalt header file as part of Universal Interfaces 2.0a1
- AS15 GestaltEqu header file for ETO 16 (on CodeWarrior 5 CD)
- AS16 PPCToolbox.p header file on CodeWarrior 5 CD
- AS17 Several header files on ETO 16
- AS18 Open Transport Client Note on the Mac OS SDK #2 CD
- AS19 Gestalt.h header file on WWDC Presentations 1995 CD
- AS20 Gestalt.h header file on ETO 18
-
- AT Technical Notes
- AT01 TN M.OV.GestaltSysenvirons (OV 16), May 1987/Rev. Sep. 1995
- AT02 TN M.NW.AppleTalk2 (NW 13), Feb.1992
- AT03 TN M.DV.CD-ROMDriver (DV 22), May 1993
- AT04 TN M.HW.SCSI.Q&As (HW 540), Oct. 1990
- AT05 TN M.TX.TextServicesMgr.Q&As (TE 531), May 1993
- AT06 TN OS 05 - System Update 3.0, July 1993/Rev. May 1994
- AT07 TN M.DV.CuriousSCSI, May 1994
- AT08 TN OS 06 - Control Strip Modules, July 1994/Rev. Sep. 1994
- AT09 TN M.ME.VMMemoryMapping (TN-Memory), July 1987/Rev. March 1988
- AT10 TN M.PT.A/UX.Q&As, Oct. 1990/Rev. Sep. 1993
- AT11 TN M.QD.ColorQD Q&As, April 1990
- AT12 TN OS 07 - System 7.5 Update 1.0, February 1995
-
- The Technical Notes can be found at:
- http://www.info.apple.com/dev/technotes/Main.html
-
- S Symantec Corp.
- S01 THINK Pascal 4.0 interface files
- S02 THINK C GestaltGlue source files
- S03 THINK Reference 1.0 and 2.0
-
- M Miscellaneous sources
- M01 Gestalt DA 0.4 1990 (Carl C.Hewitt)
- M02 Gestalt dcmd 1.0 (Eric Simenel, Apple Computer France)
- M03 sysvINIT source files (Apple Computer Japan, Inc.)
- M04 TMON Professional Reference Manual, p.192 (ICOM Simulations)
- M05 AfterDarkGestalt.h file (Berkeley Systems, Inc.)
- M06 SoftwareFPU Programmer Info (John Neil & Associates)
- M07 GestaltZeigen (Kevin B. Hardman)
-
- Definitions and Formats
- =======================
- This chapter explains where the word 'Gestalt' comes from, a few things
- are defined and it explains how each selector code entry looks like.
-
- Use in Language
- ---------------
-
- **WEBSTER'S DICTIONARY**
- ge.stalt \g<e>-'s(h)t<a:>lt, -'s(h)t<o.>lt\ n, pl ge.stalt.en
- \-<\e>n\ or gestalts (1922)
- [G, lit., shape, form]
- :a structure, configuration, or pattern of physical, biological, or
- psychological phenomena so integrated as to constitute a functional unit
- with properties not derivable by summation of its parts.
-
- (Try this one: http://www.fwi.uva.nl/htbin/webster.cgi?gestalt)
-
- **GERMAN-DUTCH DICTIONARY**
- Gestalt w [-en]
- stature, figure, form; Ritter von der Traurigen -, knight of the
- sorrowful figure.
-
- Definitions
- -----------
-
- **APPLE SOFTWARE**
- This category includes all selectors installed by software published by
- Apple Computer, Inc.
- Inside Macintosh says this about them:
- "Apple reserves for its own use all four-character sequences
- consisting solely of lowercase letters and non alphabetic ASCII
- characters".
- It includes all selectors of the next two categories:
-
- **APPLE SYSTEM SOFTWARE**
- This category includes all selectors installed by System Software from
- Apple Computer, Inc.
-
- **APPLE ADDITIONAL SOFTWARE**
- These are selectors installed by additional, non-system, software from
- Apple Computer, Inc.
-
- **THIRD PARTIES SOFTWARE**
- These are selectors installed by software from parties other than Apple
- Computer, Inc.
- Inside Macintosh says about these:
- "If you have registered a creator string with Apple, you are
- strongly encouraged to use that sequence as your selector code".
- This type of selectors is included in this list with the motto "If you
- don't know they are there, you can't do anything with them".
- Especially the Third Party selectors may change with every new release and
- are therefore only listed in the 'known selectors' part when the author has
- described the structure in the documentation or by email to me. These
- selectors don't have a high priority but when possible I want to know at
- least which software installs it to exclude it as a possible
- "Apple selector".
- Some people at Apple also differentiate between commercial developers and
- others, as being "third" and "fourth" parties respectively. But with this
- list this is not the case.
-
- Format Selector Entry
- ---------------------
- Format used to display information about each selector:
-
- selector_code (Software_name & type [since_version], by company/author)
- constant_name (selector code in hex)
- description
-
- enum {
- #define selectorconstant 'selector_code'
- constant_1 = value1, /* remark &ref.number_to_source */
- constant_n = valuen}; /* remark &ref.number_to_source */
-
- NOTE and/or WARNING:
-
- Where the type is one of:
- app application (APPL)
- cp control panel (cdev)
- enbl enabler
- ext extension (INIT/appe/RDEV etc.)
-
- Example:
-
- COLA (Sugarwater ext [1.0] by John Sculley)
- gestaltSugarwaterVersion
- Returns version of Sugarwater as NumVersion.
-
- enum {
- #define gestaltSugarwaterVersion 'COLA' /* &AB01 */
- gestaltSugarwaterLightVersion = 0x0200}; /* first light version */
-
- WARNING: This example is fictitious.
-
- NOTE:
- Sugarwater? See the book 'West of Eden, The End of Innocence at
- Apple' by Frank Rose.
-
- Most selectors are listed as four characters, if there are only two or
- three characters displayed the remainder are spaces (or it's a typo!).
- Diacritical characters are shown in the most logical normal character and
- at the end of the entry a note is included about which key-combination to
- press with a normal International system and US keyboard layout to get the
- required diacritical character and also listed is its hexadecimal code.
- When 'INF' is at the end of the first line it means it is an informational
- selector, all others are environmental selectors.
- The source reference number may also be used in other places than indicated
- above. It then applies to other parts of the entry or to the whole entry.
- A single question mark indicates an uncertainty regarding the information
- in front of the question mark. Three question marks indicate complete
- absence of the information.
- Some symbolic names may not originate from official publications.
-
- Symbolic Names Suffixes
- -----------------------
- The last characters of the symbolic names form a suffix which indicates
- the type of the returned value. Below is a table which lists the different
- types of suffix and their meaning.
-
- ===========================================================================
- Symbolic Names Suffixes
- ===========================================================================
- Suffix Meaning
- ---------------------------------------------------------------------------
- Addr Value is an address, i.e. to the base address of
- a memory-mapped device or to a function in
- memory.
- Attr Value is a range of 32 bits (0 is the least
- significant bit), must compare with list of
- constants and use BitTst or similair. Sometimes
- it is a bitmask, then use BitAnd.
- Count Value is a number indicating how many of the
- indicated type exist.
- Icon Value is the resource ID of an icon.
- Size Value is a size, usually in bytes.
- Table Value is the base address of a table.
- Type Value is an index to map to a version or name.
- Version Value is a version number. See the section
- 'Format Version Numbers' below, for a list of
- different formats of version numbers.
- <none> If there is no suffix like the ones above, the
- presence of the selector only implies the
- software which installed the selector is present.
- The returned value is then private to the
- installee.
- ---------------------------------------------------------------------------
-
- Format Version Numbers
- ----------------------
- **BCD (Binary Coded Decimal)**
- 0x0402 means 4.0.2. Usually the lower two bytes of the response.
-
- **INTEGER**
- The decimal representation of the returned value in the low-byte is
- the version.
-
- **Double BCD** (my own fantasy name..., RR)
- 0x00010108 means 1.1.8.
-
- **NumVersion**
- The format of the LongInt response can be coerced into type NumVersion,
- which is the same format as used for the 'vers' resource type.
-
- type
- NumVersion = packed record
- case INTEGER of
- 0: (majorRev: SignedByte; {1st part of version number in BCD}
- minorRev: 0..9; {2nd part is 1 nibble in BCD}
- bugFixRev: 0..9; {3rd part is 1 nibble in BCD}
- stage: SignedByte; {stage code: dev, alpha, beta, final}
- nonRelRev: SignedByte);{revision level of non-released version}
- 1: (version: LONGINT); {to use all 4 fields at one time}
- end;
-
- stage is one of: 0x20 = development
- 0x40 = alpha
- 0x60 = beta
- 0x80 = final
-
- About this list
- ===============
- The Gestalt Manager is a collection of system routines which allows
- applications to test for the availability of software and hardware. Because
- of the increasing number of different software and hardware configurations,
- this is getting an important issue. It probably already is and known by the
- term 'compatibility'.
- The Gestalt function allows applications to obtain information about the
- current configuration. Selectors are used to refer to certain information.
- A selector is of type OSType (a four byte value) and usually contain four
- ASCII characters. For example: the selector 'sysv' causes the version of
- the current system is returned. Other functions, NewGestalt and
- ReplaceGestalt, allow programmers to install their own Gestalt selectors.
- Programmers need to know these selectors beforehand to be able to request
- and interpret the value returned by the Gestalt function.
- See for more detailed information on how to use the Gestalt Manager
- routines Inside Macintosh part VI (old series). The new Inside
- Macintosh: Operating System Utilities replaces IM VI.
- The Driver Gestalt calls (status calls to device drivers) are not covered
- by this list.
- When you already have one or more of the new IM issues you may be a bit
- disappointed. I was, because of the very minimal information provided
- regarding the availability of the system routines. Of most routines you
- will find no information on how to test their availability.
-
- This Gestalt Selectors List intends to list all known selectors, but in
- reality this means it lists all selectors known to the editor.
- I would like to see this list to be a combined effort by different persons
- who have together access to a wide area of information.
- This list may contain (educated?) guesses and perhaps even false
- information, so no guarantee is made about the contents.
- You may use this information freely (see Legal Stuff section below), but
- when you find information not included with this list; please tell me. If
- you have additions, corrections, comments, suggestions, news about
- available software, etc., mail it me. Please, also mention the source you
- used, if any.
- You can send contributions, remarks, etc. (using the form included below)
- to this email address:
- rgaros@bio.vu.nl
- If you want to remain anonymous, please mention this and it will be taken
- care of.
- I don't have all the documentation or knowledge and I don't want to, and
- I'am certainly not Mr.Gestalt.
-
- Availability
- ------------
- If you downloaded this list from CompuServe, a BBS, or any other service,
- you will notice some strange things like 'FTP-sites' which have to do with
- the fact that this list originates from the Internet.
- Although the GSL can be found on most networks outside the Internet, you
- may be able to access the Internet also from AppleLink, AOL, CompuServe and
- eWorld. Contact your network provider for information on how to access the
- Internet or how to send email to an Internet address.
-
- This list is available in the following ways:
-
- **INTERNET**
-
- _FINGER_
- Using Finger to obtain the latest version is no longer possible.
-
- _FTP-SITES_
-
- INFO-MAC ARCHIVES
- Every minor and major version is submitted to the Info-Mac archives:
-
- ftp://sumex-aim.stanford.edu/info-mac/dev/info/gestalt-selectors-*.hqx
-
- It is also available on its mirror sites. A list of the mirror sites can
- be found at:
-
- http://www.bio.vu.nl/home/rgaros/mirror-list.html
-
- Contact: Info-Mac Moderator (info-mac-request@sumex-aim.stanford.edu)
-
-
- _USENET_
- This list is too large to post to any of the subgroups of the
- comp.sys.mac.programmer (c.s.m.p.) newsgroups. Therefore, since version 2.2,
- only an announcement about the release of a new version is posted to these
- newsgroups:
- news:comp.sys.mac.programmer.codewarrior
- news:comp.sys.mac.programmer.help
- news:comp.sys.mac.programmer.info
- news:comp.sys.mac.programmer.misc
- news:comp.sys.mac.programmer.tools
-
- _WWW_
-
- APPLE COMPUTER INC., U.S.A.
- The GSL can be found on the Apple WWW server in
-
- http://www.info.apple.com/cgi-bin/lister-pl?Apple.Support.Area/Developer_Services/Tool_Chest/OS_Utilities
-
- Which is mirrored on the FTP site of Apple Europe at
-
- ftp://ftp.info.euro.apple.com/Apple.Support.Area/Developer_Services/Tool_Chest/OS_Utilities/
-
- Contact: webmaster@info.apple.com
-
- NORTHWESTERN UNIVERSITY, U.S.A.
- The GSL can be found at the Northwestern University WWW server, together
- with other Macintosh FAQs:
-
- http://www.astro.nwu.edu/lentz/mac/faqs/source/gestalt.html
-
- Contact: Robert Lentz (lentz@annie.astro.nwu.edu)
-
- VRIJE UNIVERSITEIT, NL
- The GSL can be found behind the home page of the editor at the Vrije
- Universiteit's Faculty of Biology WWW server:
-
- http://www.bio.vu.nl/home/rgaros/
-
- or directly at:
-
- http://www.bio.vu.nl/home/rgaros/gestalt/
-
- Contact: Rene G.A. Ros (rgaros@bio.vu.nl)
-
- **AMERICA ONLINE (AOL)**
-
- You can find the GSL on AOL in the "MDV/Documents and Proposals" directory.
-
- Contact: none, who wants to upload it to AOL?
-
- **APPLELINK**
-
- You can find the GSL on AppleLink in this location:
-
- Developer Support:Developer Services:Tool Chest:OS/Toolbox:
-
- **COMPUSERVE**
-
- Since version 2.0 this list is uploaded to the Macintosh Developers Forum
- (MACDEV). Only new minor and major versions will be uploaded once. The GSL
- is available in the Tools/Debuggers (13) section. Or use the Internet
- locations by using GO INTERNET.
-
- **EWORLD**
-
- You can find the GSL on eWorld in this location:
-
- Apple Developer Services:Tool Chest:OS/Toolbox:
-
- The shortcut to Apple Developer Services is 'devservice'.
-
- **GENERAL**
-
- _CD-ROM_or_BBS_
- Because of permissions I granted you may get this list from a CD-ROM or via
- a BBS from Internet (or any other network) or a CD-ROM. If you do, and the
- release was more than two months ago, there is probably already a newer
- version.
- You can find the GSL on the latest release or upcoming release of these
- CD-ROM titles:
-
- Apprentice CD-ROM (Celestin Company)
- BBS in a BOX CD-ROM (Arizona Macintosh Users Group)
- Bookmark CD (Apple Computer, Inc.)
- CodeWarrior CD (MetroWerks Corporation)
- Developer CD Series, Tool Chest (Apple Computer, Inc.)
- Info-Mac CD-ROM (Pacific HiTech, Inc.)
- MacHack CD (MacTech Magazine)
- The Right Stuffed CD-ROM (Quantum Leap Technologies, Inc.)
-
- _MAILING_LIST_
- Every person on the mailing list automatically receives an update by email
- whenever there are some changes. If you want to subscribe or unsubscribe to
- this mailing list you need to send email to this address:
- gestalt-selectors-list-request@bio.vu.nl
- Then put in the subject line either 'subscribe' or 'unsubscribe'.
-
- The mailing list is moderated, which means everybody can email to:
- gestalt-selectors-list@bio.vu.nl
- But only after approval of the moderator the other subscribers will receive
- your posting. This guarantees that no confidential contribution is
- distributed before the moderator sees it.
- If mail to you bounces eight times you're automatically unsubscribed.
-
- This service is only possible to those who have an account on Internet or
- any other network reachable from the Internet (AOL, AppleLink, eWorld,
- CompuServe, Fidonet, etc.). I can not provide mailing of printed versions
- or on disk by normal surface mail.
-
- _MAIL_ARCHIVE_SERVER_
- You can retrieve the latest versions of this list and other software
- by sending email to this address:
- gestalt-selectors-list-request@bio.vu.nl
- In the subject line you need to enter 'archive' and then put one command
- behind it or only 'archive' in the subject line with one or more commands
- in the body of your email preceded by the keyword 'archive'. These commands
- can be:
- help to get some help on using the archive server
- ls <dir> to list the contents of the specified directory
- get <dir>/<file> to have the specified file sent to you by email.
- To obtain the abstracts of all files available you can use this command:
- archive get ABSTRACTS
-
- Your actions may be logged.
-
- _PRINTED_
- If you want this list printed on paper you may want to try a feature
- included with the LaserWriter 8 software. With it you can print four
- pages on a single sheet of paper. When you set the page breaks correct,
- this produces a very neat, little booklet.
-
- Gestalt Submission Form
- -----------------------
- You can use this form to report information you found on already included
- selectors. But you can also use it to register new Gestalt selector codes.
- If you want to register the selector code your software installs, make sure
- you registered your code first with Apple Computer, Inc. Also, it is your
- good right if you chose to keep the meaning of the response value private.
- If so, still register so that others can at least detect your software by
- determining if the selector is present.
-
- Software means, in this form, the software which installs the selector
- code. Not the whole package, just the extension or control panel (perhaps
- application) itself.
- The package is the product name in which the software is included and
- distributed.
- If data is not available or relevant, leave it blank. When the selector
- contains non-ASCII characters, please also provide the hexadecimal value.
-
- You can also fill in this form on-line because it is also on the WWW
- pages of the GSL: http://www.bio.vu.nl/home/rgaros/gestalt/
-
-
- Your name:
-
- Your email address:
-
- Your company name:
-
- Do you want to remain anonymous? Yes / No
-
- Software name:
-
- Software type: O application
- O control panel
- O extension (also 'appe')
- O other:
-
- Category: O Apple System Software
- O Apple Additional Software
- O Apple Software
- O Third Parties Software
-
- Package name:
-
- Author or Company name:
-
- Gestalt Selector:
-
- Constant name:
-
- First version to install selector:
-
- Source of information:
-
- Short description of the returned response:
-
-
-
-
-
- Additional constant names and values for the response value meaning:
-
-
-
-
-
- Please email this form to this Internet address: rgaros@bio.vu.nl
-
- Acknowledgements
- ----------------
- I want to thank the following persons for their contributions and
- support of this list:
-
- ===========================================================================
- Name Internet Email Address
- ---------------------------------------------------------------------------
- Anonymous contributor(s) anonymous@secret.bvd.nl
- Anonymous contributor 'Fig' an274807@anon.penet.fi
- Lonnie R. Abelbeck abelbeck@dev.abelbeck.com
- Daniel Azuma dazuma@cco.caltech.edu
- J.D. Sterling Babcock jdsb@ee.duke.edu
- Jeff Baudin, Micromat Computer Systems micromat@nbn.com
- John W. Baxter jwbaxter@pt.olympus.net
- Martin Bestmann kruemel@theorie3.physik.uni-erlangen.de
- Mason L. Bliss mason@cis.umassd.edu
- Scott Bronson urge@mcl.mcl.ucsb.edu
- Jim Browne jbrowne@ncsa.uiuc.edu
- Richard Buckle richardb@cocytus.demon.co.uk
- Ivan M Cavero Belaunde ivanski@world.std.com
- John Champion denali@metronet.com
- Mike Cohen isis@netcom.com
- Marc Cooperman coopem@panix.com
- Paul Cunningham, Teknosys, Inc. Teknosys@aol.com
- Jean-Pierre Curcio JPC83@calvacom.fr
- Mark Dawson marc@apple.com
- Anthony DeRobertis derobert@clark.net
- Lawrence D'Oliveiro ldo@waikato.ac.nz
- Alex Dosher (Developer CD Leader), Apple Computer, Inc.
- alyx@apple.com
- Dave Falkenburg, Apple Computer Inc. falken@apple.com
- Andy Fyfe andy@bandr.vip.best.com
- Rick Gansler gansler@boardwalk.tiac.net
- Jason Goldman, CircleDream Software Jay_Goldman@mail.magic.ca
- M. David Greenspon gremicf@yalevm.ycc.yale.edu
- C.K. Haun haun@apple.com
- Michael Hecht Michael_Hecht@mac.sas.com
- Robert Hess robert_hess@macweek.ziff.com
- Bill Hofmann wdh@fresh.com
- Laurent Humbert lhumbert@sw15.com
- Don Johnson, Apple Computer Inc. (??? via devsupport)
- Mark B. Johnson mjohnson@apple.com
- Michael F. Kamprath kamprath@earthlink.net
- John Kawakami, MacTech Magazine online@xplain.com
- Jonathan Kleid jonjk@leland.stanford.edu
- Kenneth Knotts, Power Computing knottsk@PowerCC.com
- Peter Kocourek petr@duttnxc.tn.tudelft.nl
- Steve Ko sko@apple.com
- Rich Kubota, Apple Computer Inc. Rich_Kubota@quickmail.apple.com
- Roy Leban, Akimbo Systems RoyLeban@akimbo.com
- David B. Lamkins dblamkins@aol.com
- Robert Lentz lentz@annie.astro.nwu.edu
- David Lewis lewis@netcom.com
- Spencer Low spencerl@crl.com
- John Mancino, Decision Maker's Software mancino@decismkr.com
- Roland Mansson roland.mansson@ldc.lu.se
- Matsubayashi Kohji matubays@ics.es.osaka-u.ac.jp
- William H. Leininger whl@popmail.mcs.net
- Duane Murphy, Novell Inc. damurphy@wc.novell.com
- Masatsugu Nagata nagata@kurims.kyoto-u.ac.jp
- Fabrizio Oddone oddone@di.unito.it
- Carl R. Osterwald cro@br213mail.nrel.gov
- Marco Piovanelli piovanel@ghost.dsi.unimi.it
- Kees Pols kpols@bio.vu.nl
- Francois Pottier pottier@clipper.ens.fr
- Ken Prehoda kenp@nmrfam.wisc.edu
- Jon Pugh jonpugh@netcom.com
- Quinn "The Eskimo!" quinn@quinn.echidna.id.au
- Dave Radcliffe, Apple Computer Inc. radcliff@apple.com
- Eric-Paul Rebel eprebel@knoware.nl
- Thomas Reed reed@telesphere.wustl.edu
- Pete Resnick resnick@cogsci.uiuc.edu
- Paul Reznick PRzeznik@aol.com
- Alex Rosenberg, Apple Computer Inc. alexr@apple.com
- Leonard Rosenthol leonardr@aladdinsys.com
- Jeremy Roussak jeremyr@dcs.qmw.ac.uk
- Ray Sanders 72511.232@CompuServe.COM
- Eric Schlegel, Microsoft Corporation ericsc@microsoft.com
- Marc Schrier schrier@garnet.berkeley.edu
- Mark Simmons 72511.256@CompuServe.COM
- Mark Sproul sproul@eos.ap.org
- Patrick Stadelmann Patrick.Stadelmann@etudiants.unine.ch
- Brian Stern Jaeger@fquest.com
- Zalman Stern zalman@adobe.com
- Tim Swihart tim_swihart@quickmail.apple.com
- Ilan Szekely ILANS@ds.huji.ac.il
- Victor Tan victort@extro.ucc.su.oz.au
- Nobu Toge ntoge@netcom.com
- Rodrigo Torres, Berkeley Systems brklysystm@aol.com
- John Tsombakos johnts@iii.net
- Hans Verbrugge hans@hannibal.NL.net
- Maurice Volaski, Flux Software support@fluxsoft.com
- Dave Wallace waggawagga@i-link.net
- John Watte h+@metrowerks.com
- Jos van Wezel wezel@bio.vu.nl
- Jonathan Wilson toast@diss.hyphen.com
- Terence Worley, Microsoft Corporation terrywo@microsoft.com
- Chris Wysocki wysocki@netcom.com
- ---------------------------------------------------------------------------
-
- And the members of the Computer Department of the Biology Faculty at the
- Vrije Universeit in Amsterdam, The Netherlands for their help and support.
- Also special thanks to Marco Piovanelli for his support and comments about
- preliminary versions and updates.
-
- The persons mentioned above provided information used in this list. They
- did this on personal title, NOT on behalf of their employer, unless
- explicitly stated otherwise.
- I assume information you mail to me about Gestalt selectors may be used in
- this list. Information made available to the general public (e.g. a posting
- to a USENET newsgroup) is also included and the persons name added to this
- section.
- I will mail you back to thank you and include the parts from the list which
- were changed, according to the information you provided, to let you check
- it.
-
- Legal Stuff
- -----------
- (C) 1992-1995, Rene G.A. Ros
-
- **NOTICE OF LIABILITY**
- The information in this list is distributed on an "AS IS" basis, without
- warranty. While every precaution has been taken in the preparation of this
- list, neither the editor nor any contributor nor any publisher, providing
- this list on any type of media, shall have any liability to any person or
- entity with respect to any liability, loss, or damage caused or alleged to
- be caused directly or indirectly by the information contained in this list
- or by the computer software and hardware products described herein.
- In addition it should be noted explicitly this list is NOT a product of
- Apple Computer Inc., like any other publisher, NOR are they responsible for
- any problems you may encounter in its use.
-
- **TRADEMARKS**
- Throughout this list trademarked names are used. Rather than put a
- trademark symbol in every occurrence of a trademarked name, I state I am
- using the names only in an editorial fashion and to the benefit of the
- trademark owner with no intention of infringement of the trademark.
-
- **USE AND DISTRIBUTION**
- The information in this list may be used freely, but the list is NOT
- public domain.
- When you use the information in this list for COMMERCIAL purposes, you may
- consider sending the editor a donation to help pay in the costs.
-
- It is not allowed to use excerpts of this list with your documentation, or
- in any other way, without giving proper credit by using this line:
- "This documentation lists information provided by the Gestalt Selectors
- List, edited and maintained by Rene G.A. Ros (Internet: rgaros@bio.vu.nl)"
- If you use excerpts you are advised to subscribe to the mailing list to be
- notified about errors and the latest news.
- Or, when your software makes extensive use of the information provided by
- this list, please use this line in your documentation:
- "This software uses information provided by the Gestalt Selectors List,
- edited and maintained by Rene G.A. Ros (Internet: rgaros@bio.vu.nl)"
- Please also mention this list in the About window of your software, if
- possible.
-
- The GSL may not be distributed outside any computer network on media of
- which the capacity exceeds 2 Megabytes or in print unless you have
- contacted the editor, prior to publication, and received permission to do
- so. This is mainly to ensure you have the latest version. The updates may
- not be distributed, these are ONLY for the persons on the mailing list.
-
- Permission for distribution of the full list is granted to:
- Aladdin Systems (InstallerMaker software)
- Apple Computer, Inc. (Developer CD Series, Bookmark CD)
- Arizona Macintosh Users Group (BBS in a BOX CD-ROM)
- Celestin Company (Apprentice CD-ROM, CD-ROM companion
- to TRICKS OF THE MAC GAME PROGRAMMING
- GURUS book)
- Club Macintosh de Quebec
- CP Shareware
- Pacific HiTech, Inc. (Info-Mac CD-ROM, Umich CD-ROM)
- Quantum Leap Technologies, Inc. (The Right Stuffed CD-ROM)
-
- Distribution of modified versions of this list, including, but not limited
- to, deleting, adding or moving text or adding non-text parts, is not
- allowed. Distribution in any electronical format except a normal (or
- compressed) text file is not allowed without permission.
- You are not allowed to redistribute the GSL with any other name than
- 'gestalt-selectors-XX.YYY' or 'Gestalt Selectors List X.X' for a plain
- text file format (where XX and X.X is the version number and YYY the suffix
- to indicate compression etc.), unless because of technical reasons. In such
- case a name should be chosen which resambles it as closely as possible to
- avoid possible confusion.
-
- Editor's Address
- ----------------
- Rene G.A. Ros
- developer at Mac Support Automation B.V., Uitgeest, The Netherlands
- consultant to the Computer Department,
- Biology Faculty, Vrije Universiteit Amsterdam, The Netherlands
- contract programmer Pascal and C, also 4th Dimension and other data-bases
-
- D.C. van Krimpenstraat 3
- 1067 SG Amsterdam-Geuzenveld
- The Netherlands, Europe
-
- Email: rgaros@bio.vu.nl (preferred)
- rgaros@dds.nl
- 100112.1363@compuserve.com
-